Facebook粉丝页面和相关的开放图形对象

时间:2011-09-27 14:18:26

标签: facebook facebook-graph-api facebook-page open-graph-protocol

如果存在这样的Facebook粉丝页面:

https://www.facebook.com/HuffingtonPost 

我想让计数调用图API:

https://graph.facebook.com/https://www.facebook.com/HuffingtonPost

事实上,我得到了:

{
    "id": "https://www.facebook.com/HuffingtonPost",
    "shares": 435839
}

另一方面,如果我打电话

https://graph.facebook.com/HuffingtonPost

我得到了更详细的输出:

{
   "id": "18468761129",
   "name": "The Huffington Post",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-ash2/188072_18468761129_6398033_s.jpg",
   "link": "http://www.facebook.com/HuffingtonPost",
   "likes": 435832,
   "category": "Website",
   "website": "http://www.facebook.com/HuffingtonPost",
   "username": "HuffingtonPost",
   "company_overview": "The Internet Newspaper\nNews | Blogs | Video | Community",
   "description": "The Huffington Post - The Internet Newspaper. - Company Overview: The Internet Newspaper News | Blogs | Video | Community | Facebook",

       [... omissis ...]

}

有人可以告诉我这两个opengraph对象有什么区别吗? 股票数量和喜欢数量之间也存在细微差别。为什么?

更新

在最后几天,图形api也返回了对象类型,所以我意识到:

  • 第一个API调用返回一个link_stat类型对象。
  • 第二个API调用返回页面类型对象。

在第一种情况下,股票数量应代表:

的总和
  • 此网址的喜欢数量
  • 此网址的份额数(包括将链接复制/粘贴回Facebook)
  • Facebook上关于此网址的故事的喜欢和评论数量
  • 包含此网址作为附件的收件箱邮件数。

在第二种情况下,像count只表示自己

可能有人确认我的股数是否正确?

2 个答案:

答案 0 :(得分:2)

第一个是告诉你有多少喜欢所选网址的东西。 使用第二个,您将通过页面标识符

获取有关页面对象的信息

答案 1 :(得分:2)

对于喜欢,分享和评论之间的细分(在喜欢按钮上添加并用作“喜欢”数字),您最好使用FQL。

如果您使用OG,http://graph.facebook.com/http://example.com之类的内容会显示:

{
   "id": "http://example.com",
   "shares": 3
}

......如上所述。如果您使用FQL,则可以获得每个FQL的细分。

<?php

// require the php sdk
require_once 'facebook-php-sdk/src/facebook.php';

// Create our Application instance.
$facebook = new Facebook(array(
  'appId' => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
  'cookie' => true,
));

$external_result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT share_count, like_count, comment_count, total_count, click_count FROM link_stat WHERE url="http://example.com";'
));

echo '<li>'.number_format($external_result[0]['like_count']).' likes, '.number_format($external_result[0]['share_count']).' shares';

echo '<pre>';
print_r($external_result);
echo '</pre>';

?>

这将在屏幕上显示如下内容:

* 1 likes, 2 shares
Array
(
    [0] => Array
        (
            [share_count] => 2
            [like_count] => 1
            [comment_count] => 0
            [total_count] => 3
            [click_count] => 0
        )

)

此外,SA现在有一个特定于Facebook的网站,可能对您有所帮助。 :) facebook.stackoverflow.com