Newtemi

SNS Count CacheでFacebookのシェア数が集計されない場合の対処法

time 2016/09/28

SNS Count CacheでFacebookのシェア数が集計されない場合の対処法

8月頃からSNS Count CacheでFacebookのシェア数が表示されなくなりました。
設定画面からシェア数を表示してみると、Facebookの欄だけN/Aになっています。

いろいろ調べてみたら、どうやらシェア数を取得するのに非公式のAPIエンドポイントを使っていたんだとか。
今回、Facebookの仕様変更でそれが使用不可になってしまったのが原因のようでした。

バージョン0.9.2でFacebook公式APIに変更されてはいるのですが、認証キーがないと制限がかかるんだとか。
現在のSNS Count Cacheでは、そのような設定はできませんので、ファイルを変更する必要があります。

※自分用にメモしておくために書いてますので詳細はリンク先等を確認するようにしてください

sponsored link

Facebook アプリIDの取得

認証キーはFacebookのアプリIDを取得していれば、すぐに使用可能です。
OGP設定とかで取得している人は簡単です。

Facebook Developers

アプリID取得のための参考サイト

FacebookアプリID(fb:app_id)を取得する方法を図解入りで!
WebサイトでOGPを設定する場合などでFacebookアプリID(Facebook App ID)が必要となることがあります。OGPであれば『fb:app_id』の部分で必要となります。OGPの詳し

SNS Count Cache 変更か所

参考サイト

「SNS Count Cache」のFacebookカウント数取得できない問題を暫定的に解決した
WordPressプラグイン「SNS Count Cache」。先日からFacebookのカウント数取得ができないということで、いろいろ調べてみた結果、暫定的ではありますが、プラグインのファイルを一部書き換えて暫定的ですが解決しました。

SNS Count Cache で Facebook のシェア数が表示されない問題の対処方法
「SNS Count Cache で Facebook のシェア数が取得できない問題」ですが、暫定的な解決方法を紹介してくださっている記事があったので当ブログでも参考にさせていただきました。や

sns-count-cache/includes/class-share-facebook-strategy.phpを変更します。

35行目
変更前
const DEF_BASE_URL = 'https://graph.facebook.com/';

変更後
const DEF_BASE_URL = 'https://graph.facebook.com/?access_token=appid|appsecret';

?access_token=appid|appsecretを追加します。appidとappsecretはFacebook Developersで確認して、自分のものに変更してください。

79行目
変更前
$url = self::DEF_BASE_URL . '?' . http_build_query( $this->query_parameters , '' , '&' );

変更後
$url = self::DEF_BASE_URL . '&' . http_build_query( $this->query_parameters , '' , '&' );

DEF_BASE_URLの後の?を&に変更します。

上記2か所を変更したら保存して完了です。
あとは時間経過でシェア数を取得してくれるようになります。

SNS Count Cacheのアップデートがあると、変更したファイルは上書きされますので、公式に対応されるまでは再度変更しなければいけない可能性があります。
また、アップデート後のファイルが、上記の変更でも動かない可能性もありますので、自己責任でお願いします。

SNS Count Cache 作者さんのページ

試行錯誤ライフハック
試行錯誤しながら様々な工夫(ライフハック)をアウトプットするブログ

< 2016.10.11 追記 >

0.10.0が公開され、設定でエラーが出ていましたが、解決方法が分かりました。

【解決】SNS Count Cache 0.10.0の設定エラーについて
SNS Count Cache0.10.0でFacebookのシェア数をカウントする機能が復活しました。早速、設定からApp_idとApp secretを入れてみたのですが、「シェア数を取得するために必要な設定が不足しています。」とエラーを出していました。idもsecretも間違っておらず、access tokenも自動取得できています。解決策も分からないので、0.9.2に戻し、以前書いた方法で運用していました。https://newtemi.com/wordpress/2516解決方法作者さんのTwitterにも同様の質問がありましたので注目していたのですが、解決された方のコメントを読んで早速変更し...

この記事が参考になったら
いいね ! お願いします

sponsored link

down

コメントする






sponsored link

QR Code Business Card