グラフAPIにいくつかの不一致が見つかり、誰かがそれらを回避できたかどうか疑問に思いました。
https://graph.facebook.com/?id=http://www.imdb.com/title/tt0117500/ によって提供されるすべてのオープングラフ情報とともに「いいね」番号を出力しますそのfb:app_idに関連付けられているimdb。 https://graph.facebook.com/?id=http://www.google.com ただし、googleはfb:app_idまたはfbを提供しないため、「シェア」番号を出力します:admins。
私の問題は、最初のURLに「共有」番号が必要なことです。これは、その ボタンのように (いいね+コメントなど)で公開されている番号に対応しているためです。
この「共有」番号を確実に取得する方法はありますか?
このAPIは使用できなくなりました。以下の答えは無効になりました。
APIへのGETリクエストだけでページの統計を取得できます(たとえば http://techcrunch.com )。このGETリクエストhttp://api.facebook.com/restserver.php?method=links.getStats&urls=[YOUR_URL]
を配置して、統計を取得するだけです。
のように http://api.facebook.com/restserver.php?method=links.getStats&urls=http://techcrunch.com/
<links_getStats_response xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">
<link_stat>
<url>http://techcrunch.com/</url>
<normalized_url>http://www.techcrunch.com/</normalized_url>
<share_count>6244</share_count>
<like_count>1513</like_count>
<comment_count>1391</comment_count>
<total_count>9148</total_count>
<click_count>4007</click_count>
<comments_fbid>433841427570</comments_fbid>
<commentsbox_count>4</commentsbox_count>
</link_stat>
</links_getStats_response>
お役に立てれば。
また、
その応答をJSONとして希望する場合は、&format=json
をリクエストURLに追加するだけ–デクスター
(コメントから。Dexterに感謝します!)
テーブル link_stat でFacebookのFQLを使用する必要があります。これに似たものを使用してください
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.imdb.com/title/tt0117500/"
これはそのクエリの結果です(XML形式では、もちろんJSONで取得できます)。
<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<link_stat>
<url>http://www.imdb.com/title/tt0117500/</url>
<normalized_url>http://www.imdb.com/title/tt0117500/</normalized_url>
<share_count>6233</share_count>
<like_count>9500</like_count>
<comment_count>2179</comment_count>
<total_count>17912</total_count>
<commentsbox_count>6</commentsbox_count>
<comments_fbid>380728101301</comments_fbid>
<click_count>164</click_count>
</link_stat>
</fql_query_response>
Total_count(17912)は、探している数です。
Facebookの以前のAPIオプションは使用できなくなりました。これをプログラムで実行したい場合、Facebookは現在(私が知る限り)そうする方法を提供していません。
Facebookのようなボタン の例のソースを削り取る可能性がありますが、特に以前のアクションの履歴を考えると、それは壊れやすいようです。
私が見つけたサードパーティのオプションの1つはSharedCountで、これには APIが利用可能 があります。無料のアカウントを登録する必要がありますが、 this endpoint へのGETリクエストを行うと、次のサンプルレスポンスが返されます。
{"StumbleUpon":1,"Pinterest":9,"LinkedIn":3744,"Facebook":{"total_count":
168,"comment_count":53,"reaction_count":14,"share_count":
101, "comment_plugin_count":0},"GooglePlusOne":189}
そこから、Facebookを解析できますtotal_count
値。これは、埋め込まれたFacebook共有ボタンの横に表示されるものに対応する必要があります。
注目すべきは、APIから返されるSharedCount値がボタンの例のカウントと一致するように、サンプルURLから末尾のスラッシュを削除する必要があったため、ユースケースで正確に機能することを確認することをお勧めします。 。