FacebookのGraph APIを使ってfeedとかpostsのデータが取れないとき~

まれーにやってくるFacebookへの投稿を新着として表示したいという要望、しょうがないので仕様変更に怯えながら対応してます。

以前はRSSを取得できたりしたみたいですが、現在はGraph APIを使うしかありません。よそのサービス経由とかはあるのかもしれませんが。

その際、下記の様なURLにアクセスしてデータを取得しますが、最近新たに作ったアクセストークンだとほぼメッセージ部分しか取れなくなってました。

Graph API /user/feed – グラフAPI

https://graph.facebook.com/{user-id}/posts?access_token={access-token}&limit=5

取れなくなったことには気づいていたのですが、なぜだか3年以上前に作ったアクセストークンだと取れるので……

 

で、今日調べてみました。結果はやっぱりと言うか、ただの仕様変更でした。リファレンスのどこに書いてあるのかは分からないのですが、欲しい項目を指定する必要があります。

下記の様な感じです。

https://graph.facebook.com/{user-id}/posts?fields=full_picture,picture,message,type,id,link,status_type,object_id,created_time,updated_time&access_token={access-token}&limit=5

前は無かった(と思う)、大きなサイズの画像も取れて、これ一発で済む場合も多そうですね。

ちなみにtypeがlinkの場合はfull_pictureのURLの最後に&w=300&h=300などを足すとサイズを調整できます。typeがphotoなら下ので複数サイズの配列が取れます。

https://graph.facebook.com/{object_id}?fields=images&access_token={access-token}

 

何十年かぶりに作ったガンプラ、最近のは接着剤要らないんですね~。そして色を塗らなくても下の広告の画像みたいに出来上がります!すごいです。ただ初老には細かくて目がしょぼしょぼしました。作った旧ザクは4歳の息子が気に入って遊んでます。