如何获取Facebook页面的活动?

时间:2018-04-13 22:01:13

标签: facebook facebook-graph-api

使用Facebook API的最新版本(2.12)我正在尝试使用Graph API Explorer获取页面的(公共)事件。

然而,我似乎无法让它发挥作用:

enter image description here

当我将鼠标悬停在左侧的灰色“id”或“name”上时,它显示“字段为空或访问令牌不允许”。

现在我在这里使用的页面是Techcrunch,他们有很多活动即将发布。所以“空”似乎不是问题。

在“不允许”方面,我检查了API参考,并在https://developers.facebook.com/docs/graph-api/reference/page/events/上。

但是,我似乎也找不到任何问题。它说“阅读页面事件需要有效的页面访问令牌或具有基本权限的用户访问令牌。”。

我在这里缺少什么?任何提示都非常感谢!

9 个答案:

答案 0 :(得分:7)

访问https://developers.facebook.com/docs/graph-api/changelog/breaking-changes#pages-4-4

目前,Facebook不会返回使用Pages API的页面的事件,除非您使用用户访问令牌,并且该用户已被邀请参加该页面的任何事件,或者正在参与/感兴趣该页面的任何事件。 / p>

答案 1 :(得分:5)

正如unknow_b所说:

  

目前,要访问事件,您还可以使用对该用户有效的访问令牌来使用用户端点,例如'/ me / events'或'/ me / events / not-replied'。您可以获得用户被邀请或正在/感兴趣的事件

但访问令牌用户只能工作1小时! 有人有另一个更好的主意吗?

答案 2 :(得分:4)

我正在尝试做同样的事情:从页面获取公共事件。与上述建议相关:

  • 我在两周前尝试了短命的用户访问令牌,这个令牌工作了很短的时间。现在它不再了。对你们这些人有用吗?
  • 长期存在的用户令牌,使用短期或长期用户令牌生成的页面令牌也不会返回任何事件。

https://developers.facebook.com/docs/apps/review/#platforms,Facebook声明:

  

从2018年4月4日开始,所有应用(包括之前已批准的应用)必须经过应用审核才能访问Events API ,Groups API和Pages API。访问Events API和Groups API的应用将失去访问权限,并且需要在App Review恢复后进行审核。

因此,审核可能有所帮助。我会进一步报告。

更新1 this related bug报告的答案更明确地说明了这一点:

  

使用以下边缘需要进行应用审核:GET / page / events和GET / me / events

与此同时,他们取消了所有针对Graph API 3.0更改的审核请求,因此我必须重新提交。

更新2 :我的项目遭到拒绝&我现在不想继续它。

答案 3 :(得分:2)

是的。 Facebook已取下Graph API以获取页面访问令牌。我有这个代码在生产2年,它工作得很好。检索数据(或大约一周前)的唯一方法是持续约2小时的临时用户令牌。这完全打破了我乐队的日程安排页面。我已经经历过各个方面,甚至在手机上与知道它的Facebook广告团队员工交谈过。她似乎很同情,但对我没有任何解决方案。我会指望它暂停一段时间。

显然,扎克伯格在参议院听证会后表明他有多少可能。

答案 4 :(得分:2)

热卖新闻。我没有时间去看看它是否能解决任何事情。

https://developers.facebook.com/blog/post/2018/05/01/enhanced-developer-app-review-and-graph-api-3.0-now-live/

答案 5 :(得分:0)

我终于找到解决方法。在fb应用程序上,您必须禁用密钥要求。这可以在fb应用程序控制台的高级设置下找到。称为“需要应用程序密码”。

生成fb PAGE访问令牌后,您将获得fb页面令牌,然后对其进行扩展。这是令牌调试器:https://developers.facebook.com/tools/explorer/

您可以按照以下说明以编程方式扩展访问令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

AND

https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens

OR

访问令牌调试器中还有一个扩展工具(只需单击调试,扩展按钮位于左下角):https://developers.facebook.com/tools/accesstoken/

答案 6 :(得分:0)

我刚刚创建了python脚本,您可以see here。它查询给定的Facebook页面及其事件,然后将数据放入mysql表中。

答案 7 :(得分:0)

由于 Facebook 分析的丑闻,它似乎不再起作用(请参阅 Why does Facebook Graph API say my account is non-active?)。

在流行插件 facebook-events-by-location-core 中,您可以查看 issue#29 讨论。那里有很好的解释,我不认为有一种方法可以让我们在公共 API 中获取数据。

也有传言说这是他们(已死?)Facebook Local 应用的竞争,但不确定这一点。

答案 8 :(得分:-2)

是的,我们在2016年推出了一款有效的产品(几乎就像它的后继产品Fb Local一样)。我们被货币化并准备就绪,并在Messenger聊天机器人上出售活动门票。 想法是解决超本地事件的发现和预订。我们停业了,现在看到Fb本地真是令人心痛。

enter image description here