Facebook Graph API:收集组统计信息

时间:2015-01-08 12:50:37

标签: facebook facebook-graph-api

我是facebook小组的成员,该小组现在已发展到超过2000名成员,有人问了一个问题:每个人都来自哪里。很酷的问题:很高兴知道。

这让我想到:难道没有更方便的方法来获取这些信息吗?所以我去寻找一些API,找到了Facebook Graph API,找到了API explorer并潜入了鸽子。

所以我创建了一个令牌,在该令牌中我通常会声明我可以访问的内容,但是此令牌只能访问可以访问的内容。

所以,例如我可以

  • 列出我的群组
  • 列出其中一个组的成员

所以我假设我能够获得这些成员的公开信息,希望我能找到年龄/性别/位置,然后我可以创建某种类型的地图/仪表板,这很酷。

但是afaik是不可能的。如果我要求用户的详细信息,我只会获得最基本的信息:

{
  "id": "...", 
  "first_name": "...", 
  "last_name": "...", 
  "link": "https://www.facebook.com/app_scoped_user_id/.../", 
  "name": "...", 
  "updated_time": "2014-09-12T17:02:18+0000"
}

我尝试使用/#{user-id}?fields=gender,location获取更多字段,但不会显示更多字段。在逻辑上,因为我的令牌不允许我访问这个特定用户,只有我自己的用户(对吗?)。

所以我的问题一般是:如何收集facebook群组的统计数据?

我能想到的可能的解决方案:

  • 请求所有成员提供令牌,以便我可以收集他们的信息?这似乎完全不切实际。
  • 对于每位会员,我可以访问他们的公共脸书页面,并抓取公开信息

但作为一个总的Facebook API菜鸟,我猜应该有更好的方法?另外,我实际上对个人数据不感兴趣,只是对组的一般统计信息感兴趣,但是从API文档中我没有找到任何条目。

或者我应该创建一个APP,并且组的所有成员都必须“安装该APP”,然后您可以在该组中安装该APP,这将添加一个额外的页面??? (好吧:显然也是Facebook APP菜鸟)。

非常感谢所有帮助,提示或评论。

1 个答案:

答案 0 :(得分:2)

您注意到的当前Facebook API只会为您提供有关您自己的扩展信息。要获取其他用户的扩展信息,这些用户必须登录您拥有的应用并授予访问权限。

您可能正在寻找需要location权限https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-user_locationuser_location。鉴于您将使用此信息进行统计,我不相信您将对Facebook的许可请求进行审核。

关于您的解决方案

  • 请求所有成员提供令牌,以便我可以收集他们的信息?这似乎完全不切实际。 同意,无论如何您都不会获得此许可
  • 对于每个成员,我可以访问他们的公共Facebook页面,并刮取公共信息。 您违反了TOS和开发者政策

因此,在政策范围内无法确定群组统计信息。

不推荐以下内容,只是说明它是实用的,但不是一个很好的方法

Facebook Native应用程序(适用于IOS / Android,Facebook Messenger,Facebook页面的Facebook)具有对数据的特殊访问权限,此外仍在运行v1.0。从理论上讲,可以使用属于这些应用程序之一的access_token然后请求数据/{group-id}/members?fields=id,gender,location是一种方法。

此外,所有v1.0应用程序仍会为任何用户返回性别字段。