ドキュメントによると: "redirect_uri-(オプション)ログイン/承認プロセスが完了するとユーザーをリダイレクトするURL。ユーザーはログインの成功と失敗の両方でURLにリダイレクトされるため、URLのエラーパラメータを確認する必要があります。認証ドキュメントに記載されているとおりです。このプロパティが指定されていない場合、ユーザーは現在のURL(つまり、このメソッドが呼び出されたページのURL、通常はユーザーのブラウザの現在のURL)にリダイレクトされます。」したがって、ユーザーが認証/許可を拒否したかどうかをキャッチする方法がありますが、対応するドキュメントへのリンクはもう存在しません(https://developers.facebook.com/docs/authentication/)。
簡単にするために、redirect_uriは開始phpファイルと同じアドレスであり、phpコードは次のように単純です。
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'X',
'secret' => 'Y',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if (!$user) {
$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'http://myapp.com/app'
);
$loginUrl = $facebook->getLoginUrl($params);
}
誰かがその情報をキャッチする方法を知っていますか?