ステップ 3: OAuth を使用して Connect REST API に接続する
OAuth を使用して Salesforce に接続し、アクセストークンを取得します。アクセストークンを要求で Connect REST API に渡します。
「ステップ 2: 認証を設定する」を完了し、接続アプリケーションを作成してからこのタスクを開始します。
作成した接続アプリケーションで使用される用語と、例で使用される OAuth のプロパティの対応付けを次の表に示します。OAuth 2.0 仕様では、「コンシューマ」ではなく「クライアント」という用語を使用します。
| 接続アプリケーションのアプリケーションラベル | 例の値 |
|---|---|
| コンシューマ鍵 | client_id |
| コンシューマの秘密 | client_secret |
Salesforce への要求を行うには、次の例に組織の値を代入します。
-
アクセストークンを生成します。
次の cURL コマンドはアクセストークンを生成します。
1curl -v https://login.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=3MVG9PhR6g6B7ps4xDycwGrI4PvjVZvK9" -d "client_secret=8870355475032095511" -d "username=admin@seattleapps.com" -d "password=test1234mB1riuD3n"応答には、次のようにサーバインスタンスとアクセストークンが含まれます。1{ 2"access_token":"00Dd0000000d2Iy!AQgAQLwpOxN4DhZO2qB8PCbD8VU1T35znzeDeCm....", 3"instance_url":"https://instance_name.my.salesforce.com", 4"id":"https://login.salesforce.com/id/00Dd000000XXXXXXX/005d000000XXXXX", 5"token_type":"Bearer", 6"issued_at":"1486507938095", 7"signature":"uEY/R99P/uqgq0GYNQKcvKc9LqICOMf91NvwI2my4eI=" 8} -
Connect REST API リソースを要求するには、返された instance_url をサーバインスタンスとして使用します。返された access_token を Authorization 要求ヘッダーで Bearer トークンとして渡します。
1curl -X GET https://instance_name/services/data/v53.0/chatter/users/me 2 -H 'Authorization: Bearer 00DD0000000FJ6T!AQkAQPde_DMF2vGzddfZmBRS95Goj 3 DbtArKkgukAgZP0OVFYY5KkAqhLw9ejeKIlpJ3FgwGAWeRlBiWRt8mfXEuAZGbZNosk'
この例では次の値を使用しています。
| プロパティ | 値 |
|---|---|
| client_id | 3MVG9PhR6g6B7ps4xDycwGrI4PvjVZvK9 |
| client_secret | 8870355475032095511 |
| grant_type | password grant_type の値は使用する OAuth 認証フローに応じて異なります。 ユーザのセキュリティトークンをパスワードに追加します。セキュリティトークンは Salesforce から自動生成されるキーです。たとえば、ユーザのパスワードが mypassword で、セキュリティトークンが XXXXXXXXXX の場合は、このパラメータには、値 mypasswordXXXXXXXXXX を指定する必要があります。 |
| username | admin@seattleapps.com |
| password | test1234mB1riuD3n |