【问题标题】:Fetch latest status for public Facebook page via PHP SDK?通过 PHP SDK 获取公共 Facebook 页面的最新状态?
【发布时间】:2013-10-31 06:39:26
【问题描述】:

我有一个网页,我想简单地显示公开可用的 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 是否真的需要这些类型的应用权限才能仅查看公开状态?

【问题讨论】:

    标签: php facebook facebook-php-sdk


    【解决方案1】:

    似乎是一个错误,已在 2013 年 2 月报告:

    https://developers.facebook.com/bugs/480742545315442

    但是他们已经给予了这个低优先级,并且到目前为止还没有给出任何更新。

    【讨论】:

      【解决方案2】:

      我还有另一个关于它的错误,但与此同时,有几种方法可以解决它:

      首先,解析 /feed,您可能知道,这是获取所需数据的一种方式...我曾经这样做过...但是随着我的数据收集规模的增长,它变得过于密集。 ..

      另一种选择?使用 /posts。

      /posts...我认为类似于/statuses,主要区别在于ID的格式... /posts查询中的ID通常是pagename_nodeid

      就像19292868552_10150189643478553...你可以拼接并重组它以获取帖子...

      如果你搜索 10150189643478553(假设),你会得到

      {
        "error": {
            "message": "(#100) Requires user session", 
            "type": "OAuthException", 
            "code": 100
        }
      }
      

      但是,将 pageid 作为前缀添加到节点 ID 可以让您绕过用户会话问题...

      【讨论】:

      • 请注意,/posts 还包括用户在其帖子中的 cmets。
      猜你喜欢
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 2015-12-19
      • 2014-04-19
      • 2010-11-04
      • 2015-10-18
      相关资源
      最近更新 更多