Facebook上的帖子说:“图表返回错误:(#200)用户尚未授权应用程序执行此操作”

时间:2016-02-21 13:45:16

标签: php facebook facebook-graph-api

我正在尝试使用我的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问题,还是许可问题或其他什么。

谢谢

1 个答案:

答案 0 :(得分:0)

访问令牌很可能不包括publish_actions。在调试器中测试令牌并确保publish_actions显示:https://developers.facebook.com/tools/debug/

publish_actions需要通过Facebook进行审核,否则您只能将其用作具有App中角色的用户。不确定你的意思是什么"在Facebook dev上请求publish_actions并且它们已启用",但您需要在登录过程中的scope参数中设置它。尝试使用您的应用程序的admin / dev / tester的用户。