2011-02-02 103 views
13

有没有办法检索点击了外部网站上类似按钮的Facebook用户列表?通过Open Graph检索喜欢URL /网页的Facebook用户

  • 例如,有一个域example.com已通过Facebook Insights确认属于fbUser1using OG meta tags)。
  • 处的某处example.com有一个带有多个XFBL like按钮的页面,每个按钮指向example.com的其他特定URL,例如, example.com/xyzexample.com/abc

我想获得的是喜欢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(其中APPIDAPPSECRET是从FB应用程序,标记取获取OAuth访问令牌编辑为拥有使用OG元标签的域),但这没有什么区别。

我也会对非OpenGraph(即JS SDK,FQL等)解决方案感兴趣。

编辑:使用下面的代码(根据WideBlade“S以下answer)仍然给我喜欢的一个空列表(第二个查询不会返回):

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); 
     }) 
    }); 
}); 

回答

5

FQL应该做的伎俩。

$facebook->api_client->fql_query('SELECT user_id FROM like WHERE object_id="OBJECTID"');

Here is the link.

Some general info about FQL.

FQL是使用JavaScript SDK开始,in this way.

如果你可以张贴一些示例代码,我可以尝试给一些更具体的帮助。

应该提出一个提示 - 一旦获得了用户ID,就可以查询名称并将它们放入列表中。

编辑:要得到一个对象的URL,你应该query this table using fql

+0

可爱,谢谢。 如何获取像example.com/xyz这样的外部网址的OBJECTID? – 2011-02-03 09:38:09

相关问题