发布facebook api而不是页面
问题描述:
我制作了facebook应用,获得了appID和秘密,并且我正在尝试将其作为页面发布到页面。我已授予应用权限。发布facebook api而不是页面
但是当我发布时,新帖子创建“作为用户”,而不是页面。
我的代码:
require '../lib/fb/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication('APP_ID','SECRET');
$session = new FacebookSession('ACCESS_TOKEN');
try {
$response = (new FacebookRequest(
$session, 'POST', '/1429642034012499/feed', array(
'message' => 'test',
'link' => 'http://mylink',
)
))->execute()->getGraphObject();
print_r($response);
} catch (FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
} catch (\Exception $e) {
}
Page查看。
答
本答案适用于C#,使用.NET Facebook API库。但是在PHP中逻辑应该是一样的。
你必须让页面访问令牌:
去这里:developers.facebook.com/tools/
然后转到此链接:
然后点击:“Get Access Token
”
然后添加这些权限:
再复制新的访问令牌:
现在,在C#类我做的(这是信息的评论中为页):
var userClient = new FacebookClient("THE NEW ACCESS TOKEN YOU JUST GENERATED");
dynamic accountInfo = userClient.Get("USER_ID" + "/accounts");
//USER_ID Should be Digits, this is the UserID when you do: facebook.com/USERID it should come up with the Admin Profile
var pageAccessToken = accountInfo.data[0].access_token;
var pageClient = new FacebookClient(pageAccessToken);
dynamic parameters = new ExpandoObject();
parameters.message = model.Message;
dynamic pageResult = pageClient.Post(string.Format("{0}/comments",), parameters);