1

我正在尝试使用此处描述的 Facebook 实时更新。我正在使用 PHP SDK。我已经有一个访问令牌,可用于具有这些权限的其他功能:usser_checkins、publish_stream、offline_access。

尝试添加订阅时,我从 Facebook SDK 收到以下错误。

致命错误:未捕获的 OAuthException:(#15)必须使用应用程序访问令牌调用此方法

我正在使用的代码如下。所有变量都设置正确。有任何想法吗?

    $callback_url = plugins_url('fb_callback.php',__FILE__);
    $config = array('appId' => $app_id,
                    'secret' => $app_secret,
                     );
    $facebook = new Facebook($config);
    $token = fb_get_access_token();
    $facebook->setAccessToken($token);
    $ret_obj = $facebook->api($app_id . '/subscriptions', 'POST',
                array('callback_url' => $callback_url,
                      'object' => 'checkin',
                      'verify_token' => 'a390jkl091091j908j',
                      'fields' => 'id'
                      ));
4

2 回答 2

1

我用示例代码写了一篇关于这个问题的解决方案的帖子:

http://marcneuwirth.com/blog/2011/12/08/facebook-real-time-updates/

希望这会有所帮助。

于 2011-12-08T06:20:35.110 回答
0

我有一个类似的问题。不知道是不是和你的一样。但是,仅当且仅当请求 URI 在查询字符串上没有“范围”时,才会按预期返回应用程序访问令牌。换句话说,它必须是:

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

如果它与上述不同,它将返回用户访问令牌,即使使用&grant_type=client_credentials

于 2011-10-27T11:16:19.600 回答