【问题标题】:facebook fan pages and related open graph objectsfacebook 粉丝页面和相关的开放图形对象
【发布时间】:2011-11-26 02:33:50
【问题描述】:

如果存在这样的 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 调用返回一个页面类型对象。

在第一种情况下,股数应代表以下的总和:

  • 此网址的点赞数
  • 此 URL 的共享数量(包括复制/粘贴链接回 Facebook)
  • Facebook 上有关此 URL 的故事的点赞数和 CMET 数
  • 包含此 URL 作为附件的收件箱邮件数。

在第二种情况下,count 只代表它自己

有人可以确认我的股票计数是否正确吗?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-page facebook-opengraph


    【解决方案1】:

    对于喜欢、分享和 cmets 之间的细分(将它们相加并用作“喜欢”按钮上的“喜欢”数字,您最好使用 FQL。

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

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

    ...正如您在上面提到的。如果你使用 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

    【讨论】:

    • 您是否尝试在facebook.com/HuffingtonPost 上使用FQL link_stat?您将收到设置为 0 的所有计数器。
    • 当 url 以 Facebook 开头时,我认为 FQL 查询不会按预期工作。他们希望您在 FB 上的页面时使用图形对象。您将改为获取对象 ID 并使用:'query' => 'SELECT share_count, like_count, comment_count, total_count, click_count FROM like WHERE object_id="18468761129";'
    【解决方案2】:

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

    【讨论】:

    • 分享数和点赞数之间的差异如何?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2011-04-05
    • 2011-11-25
    • 1970-01-01
    相关资源
    最近更新 更多