ステップ 3: OAuth を使用して Chatter REST API に接続する
OAuth を使用して Salesforce に接続し、アクセストークンを取得します。アクセストークンを要求で Chatter REST API に渡します。
「ステップ 2: 認証を設定する」を完了し、接続アプリケーションを作成してからこのタスクを開始します。
作成した接続アプリケーションで使用される用語と、例で使用される OAuth のプロパティの対応付けを次の表に示します。OAuth 2.0 仕様では、「コンシューマ」ではなく「クライアント」という用語を使用します。
| 接続アプリケーションのアプリケーションラベル | 例の値 |
|---|---|
| コンシューマ鍵 | client_id |
| コンシューマの秘密 | client_secret |
Salesforce への要求を行うには、次の例に組織の値を代入します。
-
アクセストークンを生成します。次の cURL コマンドはアクセストークンを生成します。
1curl --form client_id=3MVG9PhR6g6B7ps4xDycwGrI4PvjVZvK9 2 3 --form client_secret=8870355475032095511 4 5 --form grant_type=password 6 7 --form username=admin@seattleapps.com 8 9 --form password=1Lsfdc! 10 11 https://login.salesforce.com/services/oauth2/token応答には、次のようにサーバインスタンスとアクセストークンが含まれます。1{ 2 3"id":"https://login.salesforce.com/id/00Di0000000hT9uEAE/005i00000022uIbAAI", 4 5"issued_at":"1302907727777", 6 7"instance_url":"https://na1.salesforce.com", 8 9"signature":"5jcevY5fUai0lWntuSxkwBzWcvRjd01RCOkIBZpyGv0=", 10 11"access_token":"00DD0000000FJ6T!AQkAQPde_DMF2vGzddfZmBRS95GojDbtA 12 13 rKkgukAgZP0OVFYY5KkAqhLw9ejeKIlpJ3FgwGAWeRlBiWRt8mfXEuAZGbZNosk" 14 15} -
Chatter REST API リソースを要求するには、返された instance_url をサーバインスタンスとして使用します。返された access_token を Authorization 要求ヘッダーで Bearer トークンとして渡します。
1curl -X GET https://na1.salesforce.com/services/data/v33.0/chatter/users/me 2 3 -H 'Authorization: Bearer 00DD0000000FJ6T!AQkAQPde_DMF2vGzddfZmBRS95Goj 4 5 DbtArKkgukAgZP0OVFYY5KkAqhLw9ejeKIlpJ3FgwGAWeRlBiWRt8mfXEuAZGbZNosk'
この例では次の値を使用しています。
| プロパティ | 値 |
|---|---|
| サーバインスタンス | na1.salesforce.com |
| client_id | 3MVG9PhR6g6B7ps4xDycwGrI4PvjVZvK9 |
| client_secret | 8870355475032095511 |
| grant_type | password grant_type の値は使用する OAuth 認証フローに応じて異なります。 |
| username | admin@seattleapps.com |
| password | 1Lsfdc! |