代码之家  ›  专栏  ›  技术社区  ›  Barkermn01

Facebook PHP SDK获取页面帖子数据为空

  •  0
  • Barkermn01  · 技术社区  · 7 年前

    我在Facebook PHP SDK上遇到了一个奇怪的问题,

    $response = $this->getConnection()->get("me/posts");
    $feedEdge = $response->getGraphEdge();
    var_dump($response); exit;
    

    这个 getConnection() call为我提供了 \Facebook\Facebook 对象的 default_access_token 设置,但当我从Facebook得到回应时,这就起作用了

    但是上面的尸体 var_dump 提供:

    ["decodedBody":protected]=>
      array(1) {
        ["data"]=>
        array(0) {
        }
      }
    

    真正奇怪的是当我使用 Graph Explorer (作为我的申请并使用同一页)我看到了所有的帖子。因此,我认为可能是访问令牌工作不正常,所以我将中显示的访问令牌从图形浏览器复制并粘贴到 get() 调用如下所示覆盖默认值不幸的是,这不起作用,我得到了完全相同的输出。

    $response = $this->getConnection()->get("me/posts", "EAA....");
    $feedEdge = $response->getGraphEdge();
    var_dump($response); exit;
    

    Facebook Graph display using my App and Access Token

    所以我不确定为什么同一个令牌在一个地方会得到信息,而在另一个地方会得到一个空集。最糟糕的是,这并不是请求失败,而是引发了一个异常,就像Facebook Graph API在使用PHP-SDK和使用Explorer时对我的应用程序的反应不同。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Barkermn01    7 年前

    因此,在花了几个小时在Graph API Explorer和我开发的API中进行测试之后,出现了一个问题 /me/posts 使用PHP SDK时的端点,即使您使用的是manage\u页面 access_token 它似乎锁定了用户,而不是像/me/发布的图形浏览器那样的页面,而是发布到 access\u令牌

    所以一定要请求 /{page_id|user_id}/posts 它工作正常。