ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

Facebook Graph API 2.0 アップグレードメモ

はじめに

2014/4/30にFacebook Graph APIがv2.0にバージョンアップしました。以前のAPIはv1.0として扱われています。
公式のアップグレードガイド(Facebook Platform Upgrade Guide)(英語)が公開されていますが、日本語で要約して下さったページがあるので、ぜひご参照ください。
Facebook Graph API 2.0について - Qiita

アップグレードガイドはかなり細かく記載されていますが、全ての情報がまとまっているわけではありません。一通りのドキュメントに目を通しておくことをお勧めします。
自分が調べていく中で気が付いた情報をまとめます。

/{user-id}/feedの取得が制限される

v2.0から/{user-id}/feedに新たなPermissionsの記載が追加されました。これにより、v1.0に比べて制限されることになります。

v1.0のPermissionsの記載

・Any valid access token is required to view public links.
・A user access token with read_stream permission is required.

https://developers.facebook.com/docs/graph-api/reference/v1.0/user/feed

v2.0のPermissionsの記載

・Any valid access token is required to view public links.
・A user access token with read_stream permission is required.
・Only posts whose authors have also granted read_stream permission to the app will be shown.

https://developers.facebook.com/docs/graph-api/reference/v2.0/user/feed

v2.0からPermissionsの記載に
"Only posts whose authors have also granted read_stream permission to the app will be shown."
という一文が追加されています。

これにより、/{user-id}/feedでデータを取得できるのは、{user-id}のユーザーがアプリを使っており、"read_stream"を許可している場合のみとなります。
アプリを使っているユーザーではなく、『{user-id}のユーザーが』という点にご注意ください。つまり、{user-id}のユーザーも同じアプリを利用していて、かつ"read_stream"を許可している必要があります。
また、Permissionsの条件を満たさないと、{user-id}のユーザーが共有範囲:全体で投稿した記事であっても取得できません。

なお、Facebookページのフィードを取得する/{page-id}/feedにはこの制限がありません。

既存アプリのレビュー

アプリの要求する権限がpublic_profile, email, user_friends以外にも必要な場合、Facebookによるレビューが必要となります。
2014/4/30より前に作成されたアプリは2015/4/30までレビューを猶予されます。それ以降もレビューをパスしていないと、通常ユーザーはアプリの権限が制限されます。

Active apps created before April 30th 2014 must be reviewed by April 30th 2015. After that date, unapproved permissions will not be shown to regular users.

https://developers.facebook.com/docs/apps/upgrading/

レビューの流れや注意点については以下のページが参考になります。
Facebookログイン Version2.0(アプリのパーミッション仕様変更)