繁体   English   中英

使用Facebook PHP SDK发布到用户的Facebook Wall

[英]Publishing to User's Facebook Wall with Facebook PHP SDK

我正在将基于Web的游戏集成到Facebook Game中。 Facebook登录,获取用户ID,获取用户个人资料图片即可。 但是我需要在墙上贴一些东西(例如, John Doe获得50分! )。

我对我的Facebook应用程序具有offline_accesspublish_Stream权限。

现在我想自动发布一些链接。 我正在使用带Yii的 Facebook PHP SDK

我可以获取Facebook用户ID等...但是我不知道如何自动(例如,当用户离线时)在用户墙上发布内容。

我正在寻找Graph API Post文档的发布标题。 但是我需要使用access_token参数。 而且我不确定这个access_token在哪里。

PHP-SDK 3.1.1

生成应用和用户令牌。 $ app_access_token$ access_token

*如果您具有离线访问权限,则用户access_token永远不会过期,除非用户取消对您的应用程序的授权。 您需要用于在用户离线或不与您的应用程序交互时将其发布到用户墙上。*


<?php
require './src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => '135669679827333',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
 $user = $facebook->getUser();
 if ($user) {
   try {
     // Proceed knowing you have a logged in user who's authenticated.
     $user_profile = $facebook->api('/me');
   } catch (FacebookApiException $e) {
     error_log($e);
     $user = null;
   }
 }
 if ($user) {
   $logoutUrl = $facebook->getLogoutUrl();
 } else {
   $loginUrl = $facebook->getLoginUrl();
 }
// Create Application Access Token
$app_access = "https://graph.facebook.com/oauth/access_token?client_id=135669679827333&client_secret=xxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials";
$app_access_token = file_get_contents($app_access);
// If we have a user who is logged in, create access_token with session.
if ($user) {
$access_token = $_SESSION['fb_135669679827333_access_token'];
}
?>

查看身份验证文档 ,该文档将向您展示如何获取访问令牌。

您可以像这样获得访问令牌

               $access_token = $session['access_token'];

现在在需要的地方使用$ access_token

               $my_friends_ids=file_get_contents("https://graph.facebook.com/me/friends?access_token=".$access_token);

在这里,我得到了所有朋友的身份证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM