ユーザにアプリケーションを許可するよう促します。
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
こちらをクリックして自身で試してみてください。以下のようなダイアログがユーザに表示されます。
ユーザが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.