我正试图在Facebook上为粉丝提供人口统计信息 - 主要是国家和城市,但年龄和性别是次要的。
执行此操作的主要方法是使用FQL并在insights表中执行查询。像这样:
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表格and filtering by page_id进行查询。这也行不通;它可能在过去有效,但现在它说page_id列不可索引,因此无法使用(与上面相同的错误,这使我相信/成员使用已禁用的相同内部API)。 Page_fan查询仅用于检查个人用户是否是页面的粉丝。
还有like表,但这仅适用于Facebook项目(如帖子,照片,链接等),而不适用于Facebook页面。
访问有关页面的数据分析网站,您可以在一些不错的图表中查看数据,并下载包含历史人口统计数据的Excel / CSV电子表格...但是,它还将数据限制为19个参赛作品(有时20个在那里有几个洞,因为城市交易最高职位)。
有关如何获取该数据的任何其他提示?我要么喜欢洞察查询更多的结果,要么至少有一种方法来获取所有页面粉丝所以我以后可以自己进行位置查询(即使我想要获取它的页面有近500万粉丝.. .gulp)。
答案 0 :(得分:3)
此指标的数据管道目前仅限于20个项目。这是一个受欢迎的功能请求,Facebook希望尽快改进。