ユーザーガイド > Webベースのデータソースの構成 > TDVのSOAPおよびREST OAUTHの例 > FacebookのOAuthの例
 
FacebookのOAuthの例
FacebookはRFC 6749に準拠していません。RFC 6749によると、アクセストークンのリクエストはFORM形式、レスポンスはJSON形式である必要があります。Facebookでは、リクエストがQUERY形式で、レスポンスがFORM形式であるため、プロセッサーを使用してこれらを正しく構成する必要があります。
この例では、FacebookのExpireTimeがRFC 6749で要求されている「expires_in」ではなく「expires」であるため、ユーザーは有効期限を直接指定する必要があります。
有効期限を取得するもう1つの方法は、入力データを処理して標準のJSONデータを返すTokenProcessorを使用することです。この場合、有効なレスポンスはFORM形式であるため、MessageValueはレスポンス本文から取得する値です。MessageValueからアクセストークンと有効期限を取得することにより、トークンプロセッサーはRFC 6749およびJSON形式に準拠する標準パラメーターを返すことができます。
[OAuth]タブのフィールド
サンプル値
[Authorization URI(認可URI)]
https://graph.facebook.com/oauth/authorize
[AccessToken URI(アクセストークンURI)]
https://graph.facebook.com/oauth/access_token
[Using Processors(プロセッサーの使用)]チェックボックスの下のテキストフィールド
 
<Authorization>
   <AuthorizationProcessors>
      <AuthorizationProcessor>
         document.getElementById('email').value='test@gmail.com';          document.getElementById('pass').value='xxxxxx';
         document.getElementById('loginbutton').click();
      </AuthorizationProcessor>
   </AuthorizationProcessors>
</Authorization>
 
<AccessToken>
   <RequestMsgStyle>QUERY</RequestMsgStyle>
   <ResponseMsgStyle>FORM</ResponseMsgStyle>
   <ExpireTime>1000</ExpireTime>
</AccessToken>
 
<TokenProcessor>
   VAR accesstoken;
   VAR expires;
...//Get access token and expire-time value from MessageValue
   MessageValue = "{access_token:" + accesstoken +", expires_in:" + expires+ "}";
</TokenProcessor>