2

ユーザーが oauth フロー中に Facebook のアクセス許可ウィンドウを閉じるかキャンセル ボタンをクリックしたときに、親ページに通知する方法があるかどうかを把握しようとしています。ユーザーがアプリを承認するウィンドウです。URL のウィンドウ: https://www.facebook.com/dialog/oauth?api_key= ..... [Facebook でログイン] ボタンと [キャンセル] ボタン。私が達成しようとしているのは、ユーザーが oauth アクセス許可ウィンドウをキャンセルまたは閉じた場合、アプリを承認せずにステータスを投稿できる Facebook のシンプルな共有ウィンドウを開きたいということです。

Facebook接続にJS SDKを使用しています。

4

2 に答える 2

3

このコードは、FB.loginメソッドのドキュメントから取得されます。

FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 });

ご覧のとおり、if (response.authResponse)パーツはログインプロセスが正常に終了したことを確認します。つまり、ユーザーがアプリケーションを許可し、Facebookにログインします。

ユーザーが「キャンセル」をクリックするかポップアップを閉じた場合authResponse、応答にパラメーターはありません。

于 2012-06-26T17:48:30.430 に答える
2

ユーザーが認証をキャンセルする際に URL を観察してください

YOUR_REDIRECT_URI?
    error_reason=user_denied
   &error=access_denied
   &error_description=The+user+denied+your+request.
   &state=YOUR_STATE_VALUE

これは、ユーザーが認証をキャンセルした後の値になります

error_reason=user_denied
&error=access_denied
&error_description=The user denied your request

ユーザーがキャンセルした後、認証ダイアログ ページは、これらのエラー パラメータを確認できる親ページにリダイレクトされます。

于 2012-06-26T07:37:17.567 に答える