【WordPress】Facebookのシェア数を取得する方法

ブログ運営

 いつの間にかFacebookのシェア数が表示されなくなっていました。

 どうやら、API仕様が変わっていたようで、Facebookのアクセストークンを取得した後に、テーマの修正が必要だったようです。

 そこで今回は「アクセストークン」についての簡単な説明と、Facebookのシェア数が表示されるまでの対応方法について紹介します。




スポンサーリンク

 アクセストークンとは?

 私たちの個人情報(ユーザーデータ)は、Facebookが管理するリソースサーバーに保持されています。

 WordPressなどのクライアントアプリは、リソースサーバーに対してAPIを介してユーザーデータを取得しにいくわけですが、悪意のあるユーザー(あるいはアプリ)にユーザーデータを取得されると困りますよね。

 そこで、ユーザーデータにアクセスしていいかどうかを判定するために、事前に「アクセストークン」というものを付与しておきます。

 つまり、クライアントアプリは「アクセストークン」をリソースアプリに提示することでユーザーデータのアクセス権を獲得しているんですよね。

 今回は直接的にはユーザーデータを取得しにいくわけではありませんが、シェア数を取得するために「アクセストークン」を付与してもらう必要があります。

 Facebookのアクセストークン取得方法

 まずは、「Facebook for Developers」サイトで、Facebookアプリの作成と各種設定を行います。やり方については以下のURLを参考にしてください。

 「Facebook for Developers」サイトに移動して開発中のアプリを選択した後は、左側にあるメニューの「設定」→「ベーシック」を選択し、右側に表示される「アプリID」と「app secret」を取得します。

 「app secret」は、「表示」をクリックしてFacebookアカウントのパスワードを入力することで確認できます。

 では次に、取得した「アプリID」と「app secret」を以下のURLの該当箇所を置き換えてアクセスします。

https://graph.facebook.com/oauth/access_token?client_id=「アプリID」&client_secret=「app secret」&grant_type=client_credentials

 すると、下記のようなテキスト形式で「アクセストークン」が返ってきます。これでアクセストークンを取得することができました。

{"access_token":"「アクセストークン」","token_type":"bearer"}

 WordPressでシェア数が取得できるコード

 では、最後に取得したアクセストークンを使ってWordPressでシェア数が取得できるように設定しましょう。

 今回はjQueryでFacebookのシェア数が取得できるコードを書きました。「アクセストークン」は取得した値に置き換えてください。

 あとは、シェア数を表示したい箇所に以下のコードを書きます。

 これでシェア数が表示できるようになりました。

 ちなみに、「シェア数を取得したいURL」と「アクセストークン」を以下のURLの該当箇所を置き換えてアクセスすると、

https://graph.facebook.com/?fields=engagement&id=「シェア数を取得したいURL」&access_token=「アクセストークン」

 シェア数やリアクション数などが確認できます。

{
   "engagement": {
      "reaction_count": ,
      "comment_count": ,
      "share_count": ,
      "comment_plugin_count": 
   },
   "id": "「シェア数を取得したいURL」"
}

 また、先ほど紹介したjQueryのコードでは「share_count」を取得するようにしていましたが、リアクション数(reaction_count)などに変更することも可能です。

コメント

タイトルとURLをコピーしました