http://developers.facebook.com/docs/reference/dialogs/oauth/

ユーザにアプリケーションを許可するよう促します。

OAuth 2.0 に準拠していますので、FacebookのOAuth 2.0の実装の詳細についてはauthentication guideをご覧ください。

Properties

client_id

アプリケーションID。OAuth2.0の仕様に沿うため、app_idではなくclient_idと呼ばれています。必須ですが、ほとんどのSDKでは自動的に指定されます。

redirect_uri

DialogのボタンをクリックしたあとにリダイレクトするURL。必須ですが、ほとんどのSDKでは自動的に指定されます。

scope

任意で指定してください。カンマ区切りの追加のパーミッションです。パーミッションの一覧は、こちらをご覧下さい。

state

任意で指定。リクエストからコールバックに引き継がれる内容です。redirect_uriで指定されたURLへリダイレクトする際に、レスポンス中にこの値も含まれます。

response_type

任意で指定。デフォルト値はtoken。必須のレスポンスは、アクセストークン(token)、authorization code(code)、もしくは両方(code_and_token)です。

display

Dialogの表示モードです。wwwサブドメインでのデフォルトはpageで、mサブドメインでのデフォルトはwapです。ほとんどのSDKでは自動的に指定されます。

Return Data

state

アプリケーション側で指定した値そのままです。

access_token

OAuth2.0のアクセストークン(アプリケーションからのGraph API, FQL, その他のDialog, 諸々のPlatform APIの利用を可能にします。) response_typeがtokenもしくはcode_and_tokenの場合にのみ返されます。

expires_in

access_tokenが有効な期間です。たとえば、もし3600が指定されていれば、それは1時間を意味します。access_token指定の場合にのみ渡されます。

code

OAuth2.0のauthorization codeで、サーバサイドのリクエストを通じてaccess_tokenを取得するのに使えます。response_typeにcodeもしくはcode_and_tokenが指定されている場合にのみ返されます。

error

エラーコードの文字列でで、認証エラーがあった場合に返されます。一覧はこちらです。

error_description

可読性のあるエラーメッセージで、追加のエラー情報を含んでいます。errorと一緒に返されます。

Usage Notes

response_typeがtoken指定なら、redirect_uriのURLフラグメントに全情報が追加されます。

response_typeがcodeなら、パラメータは全てクエリストリングに足されます。

response_typeがcode_and_tokenなら、codeとstateパラメータはクエリストリングに足され、access_tokeとexpires_inパラメータはURLフラグメントに足されます。

Example

ユーザを下記URLにリダイレクトします。

http://www.facebook.com/dialog/oauth/?
scope=email,user_birthday&
client_id=123050457758183&
redirect_uri=http://www.example.com/response&
response_type=token

こちらをクリックして自身で試してみてください。以下のようなダイアログがユーザに表示されます。

oauth-page

ユーザがAllowをクリックすると、以下のURLにリダイレクトされます。

http://www.example.com/response#
access_token=...&
expires_in=3600

ユーザがDon't Allowをクリックすると、以下のURLにリダイレクトされます。

http://www.example.com/response?
error=access_denied&
error_description=The+user+denied+your+request.