
Facebookアプリで、ユーザーから許可を得ている権限(パーミッション)を知るには以下のAPIを使います。
1 | $permissions = $facebook->api("/me/permissions"); |
$permissionsの内容はこんな感じ↓
( [data] => Array ( [0] => Array ( [installed] => 1 [status_update] => 1 [photo_upload] => 1 [video_upload] => 1 [create_note] => 1 [share_item] => 1 [publish_stream] => 1 [publish_actions] => 1 ) ) )
これがわかれば、必要な権限が得られていない時に、
認証ダイアログを表示するといった処理ができます。
例)user_likes権限を得ていないユーザーに認証ダイアログを表示する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | try { $permissions = $facebook->api("/me/permissions"); if (array_key_exists('user_likes', $permissions['data'][0])) { // user_likes権限の許可を得ている } else { // user_likes権限の許可を得ていないので、認証ダイアログを表示する $params = array( 'scope' => 'user_likes', 'redirect_uri' => 'リダイレクトURL' ); $login_url = $facebook->getLoginUrl($params); echo "<script type='text/javascript'>top.location.href = '$login_url';</script>"; exit; } } catch (FacebookApiException $e) { error_log($e->getType()); error_log($e->getMessage()); } |