はじめに
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.
https://developers.facebook.com/docs/graph-api/reference/v1.0/user/feed
・A user access token with read_stream permission is required.
v2.0のPermissionsの記載
・Any valid access token is required to view public links.
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/feed
・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.
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(アプリのパーミッション仕様変更)