我正在尝试使用我的webapp处理 publish_actions 。我正在使用php sdk v.5
我有这段代码:
< ...>
if ( isset($accessToken) ) {
$_SESSION['facebook_access_token'] = (string) $accessToken;
$oAuth2Client = $fb->getOAuth2Client();
$longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']);
$fb->setDefaultAccessToken($longLivedAccessToken);
/* I try to post something on my wall here: */
$params["message"] = 'test';
$params["link"] = 'http://www.lucarossi.info';
$params["picture"] = 'test-image.jpg';
$params["description"] = 'test';
$access_token = $accessToken;
try {
$response = $fb->post('/me/feed', $params, $access_token);
}
catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
echo 'Posted with id: ' . $graphNode['id'];
}
< ...>
但是我收到以下消息:“图表返回错误:(#200)用户未授权应用程序执行此操作”
我已经在facebook dev上请求了publis_actions功能,启用了。无论如何,当我试图通过我的应用程序登录Facebook时,我收到消息“这不会让应用程序发布到Facebook。”
我正在试图找出问题所在,但我甚至不确定这是一个php问题,还是许可问题或其他什么。
谢谢
答案 0 :(得分:0)
访问令牌很可能不包括publish_actions
。在调试器中测试令牌并确保publish_actions
显示:https://developers.facebook.com/tools/debug/
publish_actions
需要通过Facebook进行审核,否则您只能将其用作具有App中角色的用户。不确定你的意思是什么"在Facebook dev上请求publish_actions
并且它们已启用",但您需要在登录过程中的scope参数中设置它。尝试使用您的应用程序的admin / dev / tester的用户。