Facebookのシェア数カウントが止まっていたので修正した。
なるほどね。Facebookのgraph api v2.8が昨日で使用期限だ。
— ゆきにー@雑文書き (@yuki_20211) 2019年4月19日
こりゃ別で組みなおさんといかんか。https://t.co/HtGFNRNgiY
facebook graph api v2.8は昨日で公開停止になってますんで、多分、一般的なブログでのシェア数取得とか止まってるはずですよー。
— ゆきにー@雑文書き (@yuki_20211) 2019年4月19日
トークン取ってこないとv2.9系以上は使えなくなってるので、そのうち、直し方公開しときます。
なんか、うちのブログの記事下部にも色んなソーシャルメディアのシェアボタンがおいてあるんですけど、facebookのシェア数取得機能が止まってたんですよ。気になったんで調べてみると、Facebook Graph API v2.8の公開期限が2019年4月18日で切れてましたね。なので今までGraph API v2.8でシェア数などを取得しているブログはみんなカウントが止まってるはずです。
まぁ、一応、facebook for developersでトークン取得してv2.9以上のAPIを利用するようにしたら今まで通り使えたので、ひとまずシェア数カウントの修正方法なんかをシェアしときます。
まずはFacebook For Developersのアカウントで新しいアプリを作成してください。そして、プロダクトは「Facebookログイン」を取得してください。
使うタイプは「web」を選択して、利用するURLを指定しておけばあとは全部飛ばして大丈夫です。
次に、Facebookログインの設定の「有効なOAuthリダイレクトURI」に使うURLを登録しておいてください。
最後に設定のベーシックから「アプリドメイン」と「プライバシーポリシーのURL」を指定して、左上のステータスのそばにあるチェックをクリックしてアプリを公開してください。
アプリの公開するタイプはエンターテインメント辺りを選んでおけばすぐに取得できると思います。
次はアプリのOAuthの許可などを取っときましょう。次のURLにブラウザでアクセスしてください
https://www.facebook.com/dialog/oauth?client_id={アプリID}&redirect_uri={使うアプリのURL}
このような画面が出てくるはずなので、許可をしてください。
これで許可を取れたなら次はアクセストークンを取得します。次のURLにアクセスして表示されるアクセストークンを控えてください。
https://graph.facebook.com/oauth/access_token?client_id={アプリID}&client_secret={app_secret}&grant_type=client_credentials
アプリIDとapp_secretはアプリの管理画面のベーシックの方にありますので、それと置き換えてください。こんな感じのデータが表示されるはずです。
{
"access_token": "**************************************************",
"token_type": "bearer"
}
アクセスするjqueryでのプログラムの例を次に示しておきます。各自、自分のブログで使われている処理などと合わせて修正してください。
//Facebookのシェア数を取得 function countFacebook(url, selector) { var token = '**************************************************'; $.ajax({ url:'https://graph.facebook.com/', dataType:'jsonp', data:{ id:url, fields:'og_object{engagement},engagement', access_token:token } }).done(function(res){ if ( res.engagement && res.engagement.share_count ) { $( selector ).text( res.engagement.share_count ); } else { $( selector ).text( 0 ); } }).fail(function(){ $(selector).text('0'); }); }
- 参考にした記事
今日の徒然
今日はほとんど寝てたな。朝、起きてからゴミ捨てに行ってきたけど、その後眠ってしまい15時まで寝てた。
今日は車にドライブレコーダを付けた。やっぱここ最近の事件などを見てるとドラレコぐらいは付けてないとむちゃくちゃな運転をしている奴にぶつけられたりとかするとえらい目に遭いますからね。ドラレコ付けてないと、信号無視でふらふら車道歩いてるおっさんとか車道の真ん中を走っているような自転車などにぶつかった時にん百万とか取られる。特に、最近、朝の那覇あたりだと変な自転車がふらふらしてて危ないですからねー。保険の意味でもドライブレコーダーは付けとかないと不味いだろう。
その後、スタバなどでアイスコーヒーなどを嗜んでおったが、今日は別になんの代わり映えもしない休日だったな。ゴールデンウィークもそろそろ近いし、ゴールデンウィークは新潟旅行にも行く予定なので、いろいろと準備をしておかないといけないな。今年は勝負の年ですな。がんばろう。
質問回答告知
日曜日はマシュマロの回答を行います。何かしら僕に聞きたいことあったらマシュマロまで質問をください。
https://marshmallow-qa.com/yuki_20211?utm_medium=url_text&utm_source=promotionmarshmallow-qa.com
現時点で2件ほど届いていますので、今週はあと1件程度は回答できると思います。
お気軽にどうぞ(^o^)