Facebook PHP API 订阅问题

Posted

技术标签:

【中文标题】Facebook PHP API 订阅问题【英文标题】:Facebook PHP API issues with subscription 【发布时间】:2011-10-07 01:09:54 【问题描述】:

我正在尝试使用 Facebook 的实时更新,如 here 所述。我正在使用 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'
                      ));

【问题讨论】:

fb_get_access_token() 是做什么的?介意分享代码吗? 【参考方案1】:

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

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

希望对您有所帮助。

【讨论】:

【参考方案2】:

我遇到了类似的问题。不知道是不是和你的一样。但是,应用访问令牌仅当且仅当请求 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

【讨论】:

以上是关于Facebook PHP API 订阅问题的主要内容,如果未能解决你的问题,请参考以下文章

Facebook:用于订阅用户到 Facebook(webhook)以进行实时更改的图形 api 是啥

Facebook 图形 API 用于获取带有评论数和点赞数的 Facebook 订阅源

Facebook API 获取页面的订阅者?

face.com API 的替代方案

PHP使用微软认知服务Face API

由于订阅密钥无效(人脸 API),访问被拒绝