有没有办法检索点击外部网站上的“赞”按钮的Facebook用户列表?
我想要的是喜欢 example.com/xyz 的用户列表以及喜欢 example.com/abc 的用户列表。
我的直观方法是查看 graph.facebook.com/123456789/likes (其中数字是从FB洞察中获取的域的ID),但这总是返回一个空数据集:
{
"data": [
]
}
我还尝试从https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET获取OAuth访问令牌(其中 APPID 和 APPSECRET 来自FB应用程序,该应用程序被标记为拥有使用OG元标记的域名,但这没有区别。
我也对非OpenGraph(即JS SDK,FQL等)解决方案感兴趣。
编辑:使用以下代码(根据下面的WideBlade的answer)仍然会给我一个空的列表(第二个查询永远不会返回):< / p>
var objectsQuery = "select id from object_url where url in ('http://example.com/xyz', 'http://example.com/abc', 'http://example.com/123')";
var likesQuery = "select object_id from like where object_id = {0}";
FB.Data.query(objectsQuery).wait(function (objectRows) {
console.log(objectRows);
FB.Array.forEach(objectRows, function (objectRow) {
FB.Data.query(likesQuery, objectRow.object_id).wait(function (likeRows) {
console.log(likeRows);
})
});
});
答案 0 :(得分:5)
FQL应该做的伎俩。
$facebook->api_client->fql_query('SELECT user_id FROM like WHERE object_id="OBJECTID"');
使用JavaScript SDK in this way.
启动FQL如果您可以发布一些示例代码 - 我可以尝试提供一些更具体的帮助。
应该做一个注释 - 一旦你有了用户ID,就可以查询名称并将它们列入清单。
编辑:要获取对象的网址,您应该query this table using fql。
答案 1 :(得分:2)
这不可能。 Facebook不允许您查询喜欢某个页面的人的特定用户ID。这是出于隐私问题。
请参阅此页上的免责声明https://developers.facebook.com/docs/reference/fql/like/