PHP SDKと非推奨のREST APIを使用してURLの共有カウントを取得できますが、グラフAPIを使用してURLの共有カウントを取得する方法が見つかりませんでした。
調べる方法はありますか?
以下に、統計を取得するための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 APIは廃止されました
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 に表示される数と等しくなります。
そのため、グラフ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
は、いいねボタンに表示される数字です。
グラフAPIを使用しないでください。どちらかを呼び出す場合:
または
両方が返されます:
{
"id": "http://www.Apple.com",
"shares": 1146997
}
ただし、表示される数値はの合計です:
したがって、FQLを使用する必要があります。
この回答をご覧ください: Facebookのいいね!、共有、記事からのコメント数を取得する方法
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
上記のリンクで見つけたのは、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
}
]
}
this Gist をご覧ください。次のサービスの共有カウントを取得する方法のスニペットがあります。
Facebookのようなボタンは、APIがしない2つのことを行います。この2つを比較すると、混乱が生じる可能性があります。
「いいね」ボタンで使用するURLにリダイレクトがある場合、ボタンには実際に使用しているURLの数に対するリダイレクトURLの数が表示されます。
ページにog:urlプロパティがある場合、likeボタンはブラウザのURLの代わりにそのURLのいいねを表示します。
これが誰かを助けることを願って
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
fQLを使用したときに問題が見つかりました(ただし、それでも問題です)。
しかし、私のウェブサイトに表示される数は、これらの4カウントの合計+共有数です(もう一度)
FQLを使用すると、次のことができます。
http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
Ruby gemがあります- SocialShares
現在、次のソーシャルネットワークをサポートしています。
使用法:
: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
https://graph.facebook.com/v3.0/ {Place_your_Page_ID here}/feed?fields = id、shares、share_count&access_token = {Place_your_access_token_here}を使用して共有数を取得できます。