Facebook API“;从「;页面提要中缺少字段

Facebook API“;从「;页面提要中缺少字段,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正在开发一个需要阅读facebook页面帖子的程序。我已获得一个永久性页面令牌,可以通过API explorer中的“调试令牌”端点运行该令牌,并可以看到我拥有一个具有“管理页面”和所有相关页面权限的无过期页面令牌: "data": { "app_id": "xxxxxxxxxxxxxxxx", "type": "PAGE", "application": "Second", "data_access_expires_at": 15834

我正在开发一个需要阅读facebook页面帖子的程序。我已获得一个永久性页面令牌,可以通过API explorer中的“调试令牌”端点运行该令牌,并可以看到我拥有一个具有“管理页面”和所有相关页面权限的无过期页面令牌:

    "data": {
      "app_id": "xxxxxxxxxxxxxxxx",
      "type": "PAGE",
      "application": "Second",
      "data_access_expires_at": 1583432075,
      "expires_at": 0,
      "is_valid": true,
      "issued_at": 1575649224,
      "profile_id": "yyyyyyyyyyyyyyy",
      "scopes": [
        "user_events",
        "email",
        "read_insights",
        "manage_pages",
        "pages_manage_cta",
        "pages_manage_instant_articles",
        "pages_show_list",
        "publish_pages",
        "read_page_mailboxes",
        "ads_management",
        "ads_read",
        "business_management",
        "pages_messaging",
        "pages_messaging_phone_number",
        "pages_messaging_subscriptions",
        "publish_to_groups",
        "groups_access_member_info",
        "public_profile"
      ],

    ...
使用相同的标记,我查询/{page_id}/feed,得到一个没有“from”字段的响应:

即使我在字段中显式请求“from”,我也不会将其取回,API资源管理器会在左侧显示灰显的字段,并显示工具提示:“字段为空或访问令牌不允许”

显然,“from”字段不是空的,它是不允许的。我知道在大多数情况下这是受保护的信息,但“提要”端点文档中说

公开可识别信息-除非您使用页面访问令牌发出请求,否则响应中不会包含用户信息

因此,对于这些帖子的接收者页面,这个请求是通过页面访问令牌完成的。顺便说一句,我是用另一个普通的帐户自己写这些帖子的,没有任何权限或隐私选项的调整。想让发帖人知道你在跟谁说话似乎是合情合理的,对吧

我已经搜索并尝试了其他回复,但答案有些陈旧,facebook API中的规则也经常改变,所以这一切都是新鲜的(截至2019年12月)

我想添加的最后一个相关内容是,此页面和应用程序与business manager帐户不关联。从我所读到的来看,这对于我正在尝试做的事情来说是不必要的

多谢各位


好的,这是我自己想出来的。希望这个答案能帮助其他处于类似情况的人

问题是,我的应用程序具有“开发”状态,这是正确的。根据FB提供的以下安全文件:

  • 应用程序用户只能访问在应用程序上具有角色的用户的数据

这一额外的保护层使我的应用程序甚至看不到谁在其关联页面上直接发布

我在应用程序中为过帐帐户指定了一个“测试者”角色,现在响应的字段如预期的那样为from:

  "data": [
{
  "id": "xxxxxxxxxxxxxxx_yyyyyyyyyyyyyyy",
  "created_time": "2019-12-05T20:24:24+0000",
  "from": {
    "name": "Poster Name",
    "id": "zzzzzzzzzzzzzzz"
  },
  "message": "Bla bla bla"
},
{
  "id": "xxxxxxxxxxxxxxx_yyyyyyyyyyyyyyy",
  "created_time": "2019-11-20T18:17:54+0000",
  "from": {
    "name": "Poster Name",
    "id": "zzzzzzzzzzzzzzz"
  },
  "message": "Bla bla bla"
}
...

好吧,这是我自己想出来的。希望这个答案能帮助其他处于类似情况的人

问题是,我的应用程序具有“开发”状态,这是正确的。根据FB提供的以下安全文件:

  • 应用程序用户只能访问在应用程序上具有角色的用户的数据

这一额外的保护层使我的应用程序甚至看不到谁在其关联页面上直接发布

我在应用程序中为过帐帐户指定了一个“测试者”角色,现在响应的字段如预期的那样为from:

  "data": [
{
  "id": "xxxxxxxxxxxxxxx_yyyyyyyyyyyyyyy",
  "created_time": "2019-12-05T20:24:24+0000",
  "from": {
    "name": "Poster Name",
    "id": "zzzzzzzzzzzzzzz"
  },
  "message": "Bla bla bla"
},
{
  "id": "xxxxxxxxxxxxxxx_yyyyyyyyyyyyyyy",
  "created_time": "2019-11-20T18:17:54+0000",
  "from": {
    "name": "Poster Name",
    "id": "zzzzzzzzzzzzzzz"
  },
  "message": "Bla bla bla"
}
...