Facebook Graph API:收集群组统计信息

Facebook Graph API: collecting group statistics

我是一个facebook群的成员,群现在已经发展到2000多人了,有人问了一个问题:大家都是哪里人。很酷的问题:很高兴知道。

这让我开始思考:难道没有更方便的方式来获取这些信息吗?所以我去寻找一些 API,找到了 Facebook Graph API,找到了 API explorer 并直接投入其中。

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

因此,例如我可以

所以我假设我能够获得这些成员的 public 信息,希望我能找到 age/gender/location,然后我可以创建某种 map/dashboard,这会很酷。

但据我所知,这是不可能的。如果我请求用户的详细信息,我只会得到最基本的信息:

{
  "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 并且群组的所有成员都必须 "install that APP" 然后您可以在群组中安装该 APP 从而添加一个额外的页面??? (好吧:显然也是一个 Facebook APP 菜鸟)。

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

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

您可能正在寻找需要 user_location 许可 https://developers.facebook.com/docs/facebook-login/permissions/v2.0#reference-user_locationlocation。看到您将此用于统计目的,我相信您不会审查 Facebook 的许可请求。

关于您的解决方案

  • 向所有成员请求令牌,以便我可以收集他们的信息?这似乎完全不切实际。 同意,无论如何您都不会获得此权限
  • 对于每个成员,我可以访问他们的 public Facebook 页面,并抓取 public 信息。 您在这里违反了服务条款和开发者政策

因此在 API 内无法确定组统计信息。

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

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

所有 v1.0 应用程序仍然 return 任何用户的性别字段。