Facebookのアプリケーションを起動するときに、scope
パラメータを使用していくつかの追加のアクセス権を要求しています。どのアクセス許可がユーザーによって拒否されたかをすぐに知る方法はありますか?ユーザが自分のFacebookアプリケーションで許可を拒否したかどうかを検出します。
2
A
答えて
1
問合せ:https://developers.facebook.com/tools/explorer/?method=GET&path=me%2Fpermissions
は、ユーザーオブジェクトの権限接続の詳細については、https://developers.facebook.com/docs/reference/api/user/を参照してください。
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';
関連する問題
- 1. 許可拒否
+1。私は似たようなものを使ってしまった。 –
私はそれが遅い(本当に遅い)ことを知っていますが、Facebook APIドキュメントでこの種の情報を見つけることがどれほど難しいかを考えれば、他の誰かを助けると考えました! –