1. Home
  2. Webデザイン
  3. html+CSS+javascript
  4. Facebookのいいね・シェア数が表示されなくなったので修正しました!
AmazonAmazon クレジットカードAmazon DashAmazon PrimeAmazon.co.jpAmazon
Kindle Unlimitedが3ヶ月249円で電子書籍が読み放題のキャンペーンを実施中!

Kindle Unlimitedが3ヶ月249円で電子書籍が読み放題のキャンペーンを実施中!

現在AmazonではKindle Unlimited(通常月額980円)が3ヶ月249円で利用可能になるキャンペーンを実施しています。Kindle UnlimitedはAmazonが提供する電子書籍読み放題サービ...

Bluetooth対応のスマート体重計・体組成計が送料込み1290円の大特価!

Bluetooth対応のスマート体重計・体組成計が送料込み1290円の大特価!

現在AmazonではBluetooth対応のスマート体重計・体組成計がなんとクーポンコードを使用することで衝撃の1290円で販売されています。スマート体重計・体組成計はスマホやタ...

Googleが11.11特別価格セールを実施中!Google HomeやChromecastなどが対象!

Googleが11.11特別価格セールを実施中!Google HomeやChromecastなどが対象!

現在、Googleが11.11だけの特別価格セールを実施しています。Google Pixel 4 / 4 XL を購入すると、Google Nest Hubをプレゼントしたり、Google Nest Hubが4,400円引き、Go...

SONY NEXシリーズのダミーバッテリーUSB電源ケーブルを買ってみた!

SONY NEXシリーズのダミーバッテリーUSB電源ケーブルを買ってみた!

私はブログでレビュー記事を書く時に写真はSONY NEX-5Nという今ではだいぶ古いカメラを使っているのですが、最近の悩みはバッテリーがすぐに無くなってしまい、製品の写真...

ダイソーの防滴ワイヤレスBluetoothスピーカー「BTS-032A」を買ったみた!

ダイソーの防滴ワイヤレスBluetoothスピーカー「BTS-032A」を買ったみた!

今回紹介するのは100円ショップのダイソーで販売されているワイヤレスBluetoothスピーカーの防滴仕様です。スマホとなどとBluetoothで連携して、ワイヤレスで音楽などを再...

DearMob iPhoneマネージャーでiTunesを使わず音楽を転送しよう!

DearMob iPhoneマネージャーでiTunesを使わず音楽を転送しよう!

前回はDearMob iPhoneマネージャーでiTunesを使わない簡単に写真を転送する方法について紹介しました。今回の記事ではiTunesを使用せずにDearMob iPhoneマネージャーで簡単...

Auslogics Windows SlimmerでWinSxSフォルダを小さくしよう!

Auslogics Windows SlimmerでWinSxSフォルダを小さくしよう!

今回はAuslogics Windows Slimmerを使ってWindowsの無駄なファイルを整理してSSDやHDDの容量を増やす方法を紹介したいと思います。Auslogics Windows SlimmerにはWinSxSフ...

合計900ドルのソフトウェアをプレゼント!WonderFoxのハロウィンキャンペーン!

合計900ドルのソフトウェアをプレゼント!WonderFoxのハロウィンキャンペーン!

WonderFoxでは、合計900ドル分となる18個のソフトウェアのライセンスコードをプレゼントするWonderFoxハロウィンキャンペーンを実施しています。このキャンペーンは2部に分...

スマートスピーカーAmazon Echo Dotが999円で販売中!Music Unlimited(1ヶ月分)付き!

スマートスピーカーAmazon Echo Dotが999円で販売中!Music Unlimited(1ヶ月分)付き!

現在AmazonではスマートスピーカーAmazon Echo Dotの第3世代が過去最安値となる999円で販売されています。さらに今回はAmazon Echo Dotに加えて音楽定額配信サービスのAmaz...

NetaGear RSS News

Now Loading

Article

Facebookのいいね・シェア数が表示されなくなったので修正しました!

Webデザイン > html+CSS+javascript 
facebook_graph_api_000.png

先日から記事のFacebookのいいね数(シェア数)の自作ボタンの数が表示されなくなっていることに気がつきました。最初は一時的なサーバーの問題かと思ったのですが、数日経っても表示されないので調べてみたらなんとFacebook Graph API v2.8が2019年4月18日までだったようです。それに伴いこのAPIのバージョンを使っているブログではシェア数などが表示されなくなりました。

Facebook Graph API v2.9以降ではアクセストークンを取得しないと、シェア数の取得ができなくなっているため、今までより少し面倒になっています。というわけで、今回は最新のFacebookでのブログの記事のシェア数の取得方法について書きたいと思います。

Facebook for Developersに登録してシェア数を取得しよう!


facebook_graph_api_001.png
1 Facebook for Developersのサイトにアクセスします。



facebook_graph_api_002.png
2 右上のスタートガイドを押して、「次へ」を押します。すでにFacebookアカウントを持っていればそれを使ってFacebook for Developersに登録できます。

facebook_graph_api_003.png
3 アプリ名とメールアドレスを入力して「次へ」を押します。

facebook_graph_api_004.png
4 「自分に一番当てはまる役割は?」と聞かれるので今回の場合は「開発者」を選択します。

facebook_graph_api_005.png
5 「Add Your First Product」を押します。

facebook_graph_api_006.png
6 「製品を追加」から「Facebookログイン」を選びます。

facebook_graph_api_007.png
7 。アプリのプラットフォームを聞かれるので「ウェブ」を選択します。

facebook_graph_api_008.png
8 ウェブサイトのURLを聞かれるので、自分のサイトのURLを入力して「Save」を押します。この後ステップ5までありますが、適当に読んで飛ばしてもOKです。

facebook_graph_api_011.png
9 左にある「プロダクト」→「Facebookログイン」→「設定」を開きます。「有効なOAuthリダイレクトURI」に自分のサイトのURLを指定して「設定を保存」を押します。

facebook_graph_api_012.png
10 左上にある「設定」→「ベーシック」を開きます。「アプリドメイン」「プライバシーポリシーのURL」を指定します。カテゴリは適当に「エンターテイメント」にして「設定を保存」を押します。

facebook_graph_api_013.png
11 右上にある「ステータス:開発中」の隣りにある「オフ」を押してアプリを公開状態にします。

facebook_graph_api_014.png
12 下記URLの{アプリID}と{自分のサイトのURL}を書き換えて、ブラウザでアクセスすると上記のような表示になるのでログインします。

https://www.facebook.com/dialog/oauth?client_id={アプリID}&redirect_uri={自分のサイトのURL}

Access Token

13 続いてアクセストークンを取得するためのURLにアクセスします。{アプリID}、{app_secret}は手順10のページで確認できます。

https://graph.facebook.com/oauth/access_token?client_id={アプリID}&client_secret={app_secret}&grant_type=client_credentials
正しくアクセスできれば下記のようなjsonが返ってくるのでaccess_tokenをメモしておきます。このアクセストークンはシェア数を取得する際に使います。

{"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer"}

シェア数の取得


Share/Like

あとは取得したアクセストークンを使って、上記のようなURLで記事のシェア数を取得してきます。

https://graph.facebook.com/?id={シェア数を取得したい記事のURL}&fields=og_object{engagement},engagement&access_token={アクセストークン}
正常に取得できれば下のようなjsonが返ってきます。

{
"og_object": {
"engagement": {
"count": 128,
"social_sentence": "128 people like this."
},
"id": "118816328283759"
},
"engagement": {
"reaction_count": 63,
"comment_count": 42,
"share_count": 23,
"comment_plugin_count": 0
},
"id": "http://shopdd.jp/blog-entry-1120.html"
}

以前のFacebook Graph API v2.8の時のjson形式から少し変更されているようです。なので既存のjavascriptコードを適宜を書き換えてください。

今回の個人的感想




今回はFacebookのシェア数を取得するためのFacebook Graph APIの記事でした。私と同じようにFacebookのシェア数ボタンを自作している人は同じような影響を受けている可能性が高いですね。以前まではこんな面倒な手順を踏まなくても簡単に取得できていたのですが、Facebook Graph API v2.9以降では結構手間がかかりましたね。今までは誰でも値を取得できていたのですが、登録とOAuthでサイトを認証してアクセストークンの取得が必要となったのでだいぶ大きな変更です。とりあえずこれで今までどおりにシェア数が表示できるようになったので良かったです。

面倒とは言え、Facebookのシェア数だけ表示されてないのはおかしいので、今回もしっかり変更に対応しました。ついでに先日終了したGoogle+へのソーシャルリンクを外して、SNSボタンのデザインも変更しました。なにげにこのデザインテンプレートを作ってから5年近く経っているので、所々古いと感じる部分もあったりしていますが、こういう機会がないと変えていかないので良かったかもしれません。今までと比べてかなりスッキリした感じになりました。記事を共有したいときなどにぜひ活用してください。

Related article

COMMENT TO THIS ENTRY

Most Popular

Now loading...

Social Links

Sponsored Link

Popular Article

Access Ranking

Now Loading...

当ブログにリンクしていているサイトの中でアクセス数の多いサイト上位15位が表示されます。今ならリンクするだけで簡単に上位に表示されます。