我有一个网页,我想简单地显示公开可用的Facebook页面(https://www.facebook.com/jaycorvs)的最新状态。
我做了一个应用程序,得到了API密钥和密钥,等等......使用 PHP SDK,我遇到了以下问题:
// Facebook
require_once('facebook-php-sdk/facebook.php');
$facebook = new Facebook(array(
'appId' => '5799359587XXXXX',
'secret' => 'd466917a5XXXXXXXXXXXXX9dff4d77a79',
));
$status = $facebook->api("/jaycorvs/statuses?access_token=".$facebook->getAccessToken() );
// Error:
Fatal error: Uncaught OAuthException: (#100) Requires user session thrown in /vhosts/asdfasdfa.com/public/facebook-php-sdk/base_facebook.php on line 1264
那么,这是否意味着,为了在网页上显示一个简单的、公开可用的状态更新,我必须让访问者实际完成 Facebook 应用程序许可流程("此页面想要访问您的朋友、提要等")????
我正在查看一年前做的一个旧项目,当时情况并非如此,因为代码与该项目非常相似。Facebook最近改变了这一点吗?
另外,为什么我可以通过此应用程序权限访问页面的完整提要(http://facebook.com/jaycorvs/feed),而不仅仅是雕像本身?这完全没有意义。
我在这里错过了一些明显的东西吗?或者Facebook真的需要这些类型的应用程序权限来简单地查看公共状态吗?
似乎这是一个错误,已经在 2013 年 2 月报告
:https://developers.facebook.com/bugs/480742545315442
但是他们已经给出了这个低优先级,并且还没有提供更多的更新。
我还有另一个关于它的错误,但与此同时,有几种解决方法:
首先,解析/feed,您可能知道,这是获取所需数据的一种方法......我曾经这样做过...但随着我数据收集规模的增长,它变得过于过程密集......
另一种选择?使用/帖子。
/职位。。。我认为类似于/状态,主要区别在于ID的格式.../posts 查询中的 ID 通常是pagename_nodeid
像19292868552_10150189643478553...你可以拼接它并重新组合它以获得帖子...
如果您搜索10150189643478553(假设),您将获得
{
"error": {
"message": "(#100) Requires user session",
"type": "OAuthException",
"code": 100
}
}
但是,将页面 ID 作为前缀添加到节点 ID 允许您绕过用户会话问题...