我想以编程方式在我拥有的页面上发布新故事。我是否需要让Facebook获得这样做的权限?当我调用Facebook -> post
时出现错误:(#200) The user hasn't authorized the application to perform this action
。
我想申请publish_actions
权限,但似乎允许我的应用发布给应用用户'墙壁,这不是我打算做的,我只想在我自己的墙上发表。
这是我的代码:
$fb = new Facebook\Facebook([
'app_id' => 'my app id',
'app_secret' => 'my app secret',
'default_graph_version' => 'v2.9',
'default_access_token' => 'the access token'
]);
$linkData = [
'link' => 'http://example.com/link/for/today',
'message' => 'This is the link for today',
];
try {
$response = $fb->post('/me/feed', $linkData);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
}
$graphNode = $response->getGraphNode();
echo 'Posted with id: ' . $graphNode['id'];
感谢您的帮助!
答案 0 :(得分:1)
要将页面发布为页面,您将需要权限manage_pages
和publish_pages
,并且您需要首先获取页面访问令牌...并且然后用它来创建帖子。
https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens