0

我需要列出喜欢特定网址或至少喜欢 Facebook 页面的用户

我尝试同时使用 PHP 和https://api.facebook.com/method/fql.query

我可以看到该 URL 的点赞数

$arr[1]['url'] = 'http://example.com/test/test3.php?ref=gametest&fb_ref=gametest&fb_source=gametest';
$arr[1]['object_id'] = '10150930574980642';

require_once("facebook.php");
$facebook = new Facebook(array(
    'appId'  => '325617367526193',
    'secret' => '6c40e01dd717431c9b7ec6ce68bf0c94',
));

我使用http://developers.facebook.com/docs/reference/fql/like/示例来形成类似的查询

$query = <<<FQL
    SELECT user_id FROM like WHERE object_id="10150930574980642"
FQL;
$fql_query_url = 'https://graph.facebook.com/fql?q=' . rawurlencode ( $query );
$fql_query_url .= '&access_token=' . rawurlencode ( $facebook->getAccessToken() );

但生成的链接根本没有提供任何数据

{
   "data": [

   ]
}

通过带有或不带有 access_token 的链接获得相同的结果

api.facebook.com/method/fql.query?query=SELECT%20user_id%20FROM%20like%20WHERE%20object_id%3D%2210150930574980642%22
4

1 回答 1

1

“like”表只会返回喜欢以下对象(视频、笔记、链接、照片或相册)的用户的 ID。

您无法找到喜欢特定页面的人的用户 ID,只能找到该页面中的对象。

例如 Facebook 页面上专辑的点赞数(SELECT user_id FROM like WHERE object_id="10150146071791729"&access_token=[access_token])

如果您想获取喜欢特定链接的用户,您需要先获取该链接的 object_id:

https://api.facebook.com/method/fql.query?query=SELECT url,site,id FROM object_url WHERE url IN ('http://developers.facebook.com')

这将返回链接http://developers.facebook.com的 object_id 。

于 2012-07-11T15:19:14.290 回答