Facebook图形API身份验证评论计数?(认为我错过了什么


Facebook Graph API Authentication for Comment Count? (Think I'm missing something.)

我在尝试让一些PHP代码与Facebook提供的Open Graph API一起使用时遇到了一些问题。

我有一些PHP代码,它接受一个网址并返回使用该Facebook评论插件在该页面上发表的评论数量。

我知道代码有效,但是,有一个小问题。

当我尝试我的代码时,它不显示任何信息。当我签入Facebook提供的API资源管理器时,我想要的信息就在那里。唯一的区别是,使用 API 资源管理器时,将使用访问令牌。

我正在运行的代码正在尝试获取同一域中页面的图形数据。这也不需要该人授权我们的应用程序,因为仅仅为了告诉某人页面上发表了多少评论而请求授权是没有意义的。

所以我的问题是,如何在下面的代码中包含访问令牌:

function fb_comment_count($url = '') {
$filecontent = file_get_contents('https://graph.facebook.com/?ids=' . $url);
$json = json_decode($filecontent);
$count = $json->$url->comments;
if ($count == 0 || !isset($count)) {
    $count = 0;
}
echo $count;
}

现在唯一的问题是这个 https://graph.facebook.com/?ids=' . $url它返回空,但是当我使用相同的 URL 时,API 资源管理器会显示正确的信息。是否可以在某个地方包含访问令牌,或者我缺少某些内容?

我实际上最终使用了这段代码,它让我获得的不仅仅是评论计数(它使用 Facebook PHP SDK(:

<?php
// Stats taken from link_stats table
// Documentation: http://developers.facebook.com/docs/reference/fql/link_stat/
function FBLinkStats($url,$type){
$fbconfig['appid' ]  = "###########";
$fbconfig['secret']  = "###########";
include_once "facebook.php";
$facebook = new Facebook(array(
    'appId'  => $fbconfig['appid' ],
    'secret' => $fbconfig['secret'],
    'cookie' => true
));
$fql = "SELECT url, normalized_url, share_count, like_count, comment_count, total_count, commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url = '".$url."' ";
$param  =   array(
    'method'    => 'fql.query',
    'query'     => $fql,
    'callback'  => ''
);
$fqlResult   =   $facebook->api($param);
return $fqlResult[0][$type];
}
?>

该函数采用两个变量,即您要获取信息的页面的 URL 和要返回的统计信息,可以在此页面上找到:http://developers.facebook.com/docs/reference/fql/link_stat/

需要访问令牌来查询此数据。

但是,您可以使用应用访问令牌,而不是要求用户进行身份验证。

在此处查看如何生成一个:http://developers.facebook.com/docs/authentication/applications/