1. Home
  2. Webデザイン
  3. html+CSS+javascript
  4. Facebookのいいね・シェア数が表示されなくなったので修正しました!
AmazonAmazon クレジットカードAmazon DashAmazon PrimeAmazon.co.jpAmazon
VEGAS Pro 17発売記念で最大92%Offのキャンペーンを実施中!

VEGAS Pro 17発売記念で最大92%Offのキャンペーンを実施中!

現在ソースネクストでは、VEGAS Proの新バージョンとなるVEGAS Pro 17の発売を記念して、VEGAS製品を大幅に値引きするスーパーチャンスのキャンペーンを実施しており、最大...

Lecone Qi 10Wワイヤレス充電台&紫外線UV除菌器を使ってみた!(30%Offクーポンあり)

Lecone Qi 10Wワイヤレス充電台&紫外線UV除菌器を使ってみた!(30%Offクーポンあり)

今回紹介するのはLeconeのQiワイヤレス充電台&紫外線UV除菌器です。置くだけでスマホなどを簡単に充電できるQiワイヤレス充電器とボックスの中に入れたスマホや小物などを...

Samsung Galaxy A80がフラッシュセールで激安!さらに66ドル安くなるクーポンあり!

Samsung Galaxy A80がフラッシュセールで激安!さらに66ドル安くなるクーポンあり!

今回はSamsung Galaxy A80の激安情報とクーポンについて紹介します。ただいま、GearBestでは、Samsung Galaxy A80 4G Phablet 8GB RAM 128GB ROM Original International V...

MOTOROLA Moto Zのバッテリーを自分で交換してみました!

MOTOROLA Moto Zのバッテリーを自分で交換してみました!

私の愛用しているモトローラ製のスマホのMoto Zなんですが、購入して2年も経たずにバッテリーが異常で100%まで充電しても5分くらいで落ちるというくらいヘタってしまったの...

AliExpressでスマホのバッテリーを激安で輸入してみました!

AliExpressでスマホのバッテリーを激安で輸入してみました!

最近スマホのバッテリーの調子が悪くて、100%まで充電しても5分くらいで電源が落ちてしまうようになってしまいました。交換用バッテリーをamazonなどで探していたのですが...

Leconeの5in1機能モバイルバッテリー付きUSB扇風機を使ってみた!(クーポンコードあり)

Leconeの5in1機能モバイルバッテリー付きUSB扇風機を使ってみた!(クーポンコードあり)

今回はLeconeの5in1機能 モバイルバッテリー付きUSB扇風機を紹介したいと思います。この5in1機能とは5つの機能がありモバイルバッテリー、携帯扇風機、卓上扇風機、スマホ...

合計230ドル!?8個のソフトウェアを無料でゲットできるキャンペーン!

合計230ドル!?8個のソフトウェアを無料でゲットできるキャンペーン!

現在WonderFoxとFotoJet、Auslogics、WiseCleaner、Epubor、Iris、DoYourData、PCWinSoftの8社が協力して、8つのソフトウェアのライセンスを無料でプレゼントする新学期キ...

VirtualBoxにElementaryOSをインストールしよう!

VirtualBoxにElementaryOSをインストールしよう!

前回の記事のOracle VM VirtualBoxで仮想マシン環境を構築しよう!ではVirtualBoxをインストールして仮想マシンを作れる状態までやりました。そこで今回はその続きで実際に...

Oracle VM VirtualBoxで仮想マシン環境を構築しよう!

Oracle VM VirtualBoxで仮想マシン環境を構築しよう!

今回はOracle VM VirtualBoxを使ってelementary OSの仮想マシン環境を構築したいと思います。Linuxなどの他のOSを使いたい時に、物理マシンにインストールするというのもあ...

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位が表示されます。今ならリンクするだけで簡単に上位に表示されます。