web-dev-qa-db-ja.com

グラフAPIを使用して共有カウントを取得する方法

PHP SDKと非推奨のREST APIを使用してURLの共有カウントを取得できますが、グラフAPIを使用してURLの共有カウントを取得する方法が見つかりませんでした。

調べる方法はありますか?

136
Ashish Pethkar

以下に、統計を取得するためのAPIリンクのリストを示します。

Facebook: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit: http://buttons.reddit.com/button_info.json?url=%%URL%%
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
Digg: http://widgets.digg.com/buttons/count?url=%%URL%%
おいしい: http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url=%%URL%%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

編集:Twitterエンドポイントは廃止されたため、削除しました。

編集:Facebook REST AP​​Iは廃止されました

270
chandrajeet

UPDATE-April '15:

「いいね」ボタンで使用可能なカウントを取得する場合は、次のようにog_objectオブジェクトのengagementフィールドを使用する必要があります。

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

結果:

{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

Graph APIを使用すると、次のように使用できます。

http://graph.facebook.com/?id=YOUR_URL

何かのようなもの:

http://graph.facebook.com/?id=http://www.google.com

戻ります:

{
   "id": "http://www.google.com",
   "shares": 1163912
}

UPDATE:一方、上記はshareカウントを取得する方法に答えます。この数は、notLike Button に表示される数と等しくなります。

  • このURLのいいねの数
  • このURLの共有数(リンクをFacebookにコピーして貼り付けることを含む)
  • このURLに関するFacebookのストーリーへのいいねやコメントの数
  • このURLを添付ファイルとして含む受信ボックスメッセージの数。

そのため、グラフAPIで fql エンドポイント( link_stat テーブル)からLikeボタン番号を取得できます。

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_countは、いいねボタンに表示される数字です。

200
ifaour

グラフAPIを使用しないでください。どちらかを呼び出す場合:

または

両方が返されます:

{
  "id": "http://www.Apple.com",
  "shares": 1146997
}

ただし、表示される数値はの合計です:

  • このURLのいいねの数
  • このURLの共有数(これには、Facebookへのリンクのコピー/貼り付けが含まれます)
  • このURLに関するFacebookのストーリーへのいいねやコメントの数
  • このURLを添付ファイルとして含む受信トレイメッセージの数。

したがって、FQLを使用する必要があります。
この回答をご覧ください: Facebookのいいね!、共有、記事からのコメント数を取得する方法

21
freedev

2016年8月7日以降も、次のように電話をかけることができます。

http://graph.facebook.com/?id=https://www.Apple.com/

しかし、応答形式は異なる予定です。変更されることはありません

{
  "id": "http://www.Apple.com",
  "shares": 1146997
}

しかし、代わりになります

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.Apple.com"
}

そのため、次のように応答を処理する必要があります。

reponse_variable.share.share_count
14

上記のリンクで見つけたのは、link_statテーブルを参照して、1つのリンクのいいね!、合計、共有、クリックカウントを求めるこのFQLクエリです。

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22

これは次のようなものを出力します:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
8

this Gist をご覧ください。次のサービスの共有カウントを取得する方法のスニペットがあります。

  • フェイスブック
  • Twitter
  • グーグルプラス
  • Pinterest
  • LinkedIn
  • つまずいた
7
Muhammad Reda

Facebookのようなボタンは、APIがしない2つのことを行います。この2つを比較すると、混乱が生じる可能性があります。

  1. 「いいね」ボタンで使用するURLにリダイレクトがある場合、ボタンには実際に使用しているURLの数に対するリダイレクトURLの数が表示されます。

  2. ページにog:urlプロパティがある場合、likeボタンはブラウザのURLの代わりにそのURLのいいねを表示します。

これが誰かを助けることを願って

4
Roland

https://graph.facebook.com/?fields=share&id=https://www.example.comと入力し、exampleを探しているURLまたはページに置き換えます。

Googleの例: https://graph.facebook.com/?fields=share&id=https://www.google.com

3
Nate Beers

fQLを使用したときに問題が見つかりました(ただし、それでも問題です)。

  • このURLのいいねの数
  • このURLの共有数(これには、Facebookへのリンクのコピー/貼り付けが含まれます)
  • このURLに関するFacebookのストーリーへのいいねやコメントの数
  • このURLを添付ファイルとして含む受信トレイメッセージの数。

しかし、私のウェブサイトに表示される数は、これらの4カウントの合計+共有数です(もう一度)

1
Aziz

FQLを使用すると、次のことができます。

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
1
totas

Ruby gemがあります- SocialShares

現在、次のソーシャルネットワークをサポートしています。

  • フェイスブック
  • Twitter
  • グーグルプラス
  • reddit
  • リンクされた
  • pinterest
  • つまずく
  • ヴコンタクテ
  • mail.ru
  • odnoklassniki

使用法:

:000 > url = 'http://www.Apple.com/'
  => "http://www.Apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.Twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :Twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(Twitter linkedin)
  => true
1
Timrael

https://graph.facebook.com/v3.0/ {Place_your_Page_ID here}/feed?fields = id、shares、share_count&access_token = {Place_your_access_token_here}を使用して共有数を取得できます。

0
Gunta Vaishnavi