2012-03-11 7 views

答えて

3

ここでは、Facebookアプリの「スコープ」とユーザーが許可した権限との間に不一致があるかどうかを確認するために、Facebook API呼び出しを簡略化するために書き直したクラスから変更された関数です。

function checkPermissions($scope, $facebook) 
{ 
    // Break the scope into an array 
    $scope = array_map('trim', explode(",", $scope)); 

    // Get the users permissions from Facebook and put them in an array 
    $getUserPerms = $facebook->api('/me/permissions'); 
    $userPerms = array_keys($getUserPerms['data'][0]); 

    // Permissions not granted is the difference between these arrys 
    $ungrantedPerms = array_diff($scope, $userPerms); 

    if (! empty($ungrantedPerms)) { 
     // authenticate user again 
    } 
} 

ですが範囲は、以下の方法でフォーマットされていると仮定:

$scope = 'email, user_about_me, user_likes, manage_pages, publish_stream'; 
+0

+1。私は似たようなものを使ってしまった。 –

+1

私はそれが遅い(本当に遅い)ことを知っていますが、Facebook APIドキュメントでこの種の情報を見つけることがどれほど難しいかを考えれば、他の誰かを助けると考えました! –

関連する問題