0

我对 Facebook PHP SDK 有疑问。它总是抛出那个异常。我尝试了此处列出的许多解决方案,但对我没有任何帮助。

Facebook 似乎返回给我有效的访问令牌,因为我在我的应用程序仪表板中使用调试工具对其进行了测试。

我的情况是什么?

我想通过调用静态函数将简单的内容发布到用户的墙上:

function social_publish($network, $title, $message, $link = '', $image = '') {

    global $_config;

    // Initialize Facebook SDK
    $facebook = new Facebook(array(
                'appId' => $_config['fb_app']['app_id'],
                'secret' => $_config['fb_app']['app_security_key']
            ));

    // Set data
    $attachment = array(
        'name' => $title,
        'caption' => $title,
        'message' => $message,
        'link' => $link,
        'picture' => $image,
        'actions' => array('name' => 'Test', 'link' => 'Link')
    );

    try {

        $access_token = $facebook->getAccessToken(); // returns valid access token

        $uid = $facebook->getUser(); // always return 0

        $result = $facebook->api( '/' . $_config['fb_profile'] . '/feed/', 'post', $attachment); // $_config['fb_profile'] procudes 'me' in this case

    } catch (FacebookApiException $e) {

        echo $e->getMessage();
    }
}

请注意:我不在本地环境中工作。

4

1 回答 1

0

当我决定使用 JavaScript SDK 时,按照范围请求向 Facebook 提出的身份验证问题解决它,然后,这是解决方案:

FB.getLoginStatus(function(response) {
    if ( ! response.authResponse ) {
        FB.login(function(response) {
            // handle the response if needed
        }, {scope: 'publish_actions, publish_stream'});
    }
});

谢谢!:-)

于 2013-04-18T12:23:34.577 回答