我正在尝试获取 Facebook 页面粉丝的人口统计数据 - 主要是国家和城市,但年龄和性别是次要的。
主要方法是使用 FQL并在 insights 中进行查询 table 。像这样:
FB.api({
method: 'fql.query',
query: "SELECT metric, value FROM insights WHERE object_id='288162265211' AND metric='page_fans_city' AND end_time=end_time_date('2011-04-16') AND period=period('lifetime')"
}, callback);
然而,这个问题是该表最多只返回 19 条记录,包括国家和城市的统计数据。我正在测试的页面的响应是这样的:
[
{
"metric": "page_fans_city",
"value": {
"dallas": "12345",
"atlanta": "12340",
(...)
"miami": "12300"
}
}
]
所以我想知道是否有任何替代方案 - 获取页面当前粉丝的人口统计数据(不需要快照)。
我尝试过的事情:
在查询中使用 LIMIT 和 OFFSET 什么都不做(除了有时会给我一个空列表)。
过去讨论过的一个替代方案是 to use the "/members" method from the Graph API ( more here ) 获取所有用户的列表,然后解析该列表。那根本行不通 - 存在一种方法,它可能在过去有效,但它不再有效(已禁用?)。
要求:
https://graph.facebook.com/platform/members?access_token=...
响应:
{"error":
{
"type":"OAuthException",
"message":"(#604) Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http:\/\/developers.facebook.com\/docs\/reference\/fql "
}}
其他解决方案是查询 page_fan table and filtering by page_id .这也行不通;它可能在过去有效,但现在它说 page_id 列不可索引,因此不能使用(与上面相同的错误,这让我相信/members 使用已禁用的相同内部 API)。 Page_fan 查询仅用于检查个人用户是否是页面的粉丝。
还有 like表格,但这仅对 Facebook 项目(如帖子、照片、链接等)有用,对 Facebook 页面没有用。
转到有关该页面的洞察网站,您可以在一些漂亮的图形和表格中看到数据,并下载包含历史人口统计数据的 Excel/CSV 电子表格...但是,它也将数据限制为19 个条目(有时 20 个条目中有一些漏洞,因为城市交易排名靠前)。
关于如何获取该数据的任何其他提示?我要么喜欢具有更多结果的见解查询,要么至少想要一种获取所有页面粉丝的方法,这样我以后就可以自己进行位置查询(即使我想从中获取它的页面有近 500 万粉丝...... .吞咽)。
最佳答案
此指标的数据管道目前限制为 20 个项目。这是一个受欢迎的功能请求,Facebook 希望尽快改进。
关于facebook - 如何为 Facebook 页面的粉丝获取(更好的)人口统计数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721128/