2012-02-07 3 views
2

シナリオ: 承認が必要なFacebookタブアプリケーションを作成しました。 アプリケーションはFacebookページにインストールされています。 不正ユーザーが、私はOAuthのダイアログにリダイレクトするアプリケーションにアクセスする場合:?Facebookページのタブアプリケーション - ユーザーがOAuthダイアログのアクセスを拒否する - エラーをどのようにキャプチャしますか?

http://www.facebook.com/dialog/oauth?client_id=appid&redirect_uri=http://www.facebook.com/pages/page名/ pageidにSK = app_appid &範囲= user_birthday、USER_LOCATION &表示=ページ

注意 "をREDIRECT_URIは" 上のアプリケーションでありますインストールされたFacebookページ したがって、ユーザーがタブアプリケーションにリダイレクトすることができれば - これは問題ありません!

しかし、ユーザーがアクセスを拒否した場合([キャンセル]ボタン - 新しいOAuthダイアログを使用) ユーザーは再びタブアプリケーションにリダイレクトされ、再びOAuthダイアログにリダイレクトされます。

私は、ユーザーがブラウザには、以下のパラメータを持つ「REDIRECT_URI」にリダイレクトされますアクセス拒否したときにドキュメントから指摘してきた:エラー= & ましたerror_description = +ユーザーをACCESS_DENIED + + +あなたの要求を拒否しました。

しかし、Facebookは「redirectt_uri」から自分のアプリケーションに追加のリダイレクトを使用している場合:?http://www.facebook.com/pages/page名/ pageidにSK = app_appid

...エラー応答が失われているようです。 注: "redirect_uri"をキャンバスのURLに設定すると、エラーパラメータを正常に取得できますが、ユーザーがアクセスできる場合は、インストールされたページのコンテキストでアプリケーションを開くようにredirect_uriをフォーマットする必要があります。

このシナリオでエラーパラメータを取得するにはどうすればよいですか?

答えて

0

redirect_uriのapp_dataパラメータにフラグを追加することでこれを解決しました。ユーザーが最初にアプリケーションにアクセスすると、このフラグが設定されます。 OAuthトークンが存在するかどうかを確認します。存在しない場合は、ファンページにインストールされているアプリケーションへのredirect_uriでOAuthダイアログにリダイレクトします。 redirect_uriにapp_dataパラメータにフラグが追加されるようになりました。したがって、アプリケーションを「キャンセル」した後、Facebookはファンページのインストール済みアプリケーションにリダイレクトします。次に、フラグを確認してエラーページにリダイレクトします。

関連する問題