页面提要中缺少 Facebook API "from"字段



我正在开发一个需要阅读Facebook页面帖子的程序。我已获得一个永久页面令牌,可以通过 API 资源管理器中的"debug_token"端点运行该令牌,并可以看到我有一个没有过期的页面令牌,其中包含"manage_pages"和所有相关页面权限:

"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"字段的响应:

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

即使我在字段中明确请求"from",我也不会将其取回,并且 API 资源管理器在左侧显示该字段显示为灰色,并带有一个工具提示:"字段为空或访问令牌不允许"。

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

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

https://developers.facebook.com/docs/graph-api/reference/v5.0/page/feed

因此,此请求是使用页面访问令牌完成的,用于作为这些帖子收件人的页面。顺便说一下,我自己正在使用另一个香草帐户发布这些帖子,没有调整权限或隐私选项。希望帖子的来源知道你在和谁说话似乎是合理的,对吧?

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

我想补充的最后一个相关一点是,此页面和应用程序未与商务管理平台帐户关联。从我读到的内容来看,这对于我正在尝试做的事情来说应该是不必要的。

谢谢。

在令牌上调试

源中的字段中缺少

好吧,我自己想通了。希望答案可以帮助处于类似情况的其他人。

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

应用
  • 用户只能访问在应用上拥有角色的用户的数据。

https://developers.facebook.com/docs/apps/security/

这个额外的保护层使我的应用程序甚至无法看到谁直接在其相关页面上发布。

我在应用程序上为发布帐户提供了"测试人员"角色,现在响应按预期具有 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"
}
...

最新更新