ステップ 3: OAuth を使用して Connect REST API に接続する
OAuth を使用して Salesforce に接続し、アクセストークンを取得します。アクセストークンを要求で Connect REST API に渡します。
「ステップ 2: 認証を設定する」を完了し、接続アプリケーションを作成してからこのタスクを開始します。
作成した接続アプリケーションで使用される用語と、例で使用される OAuth のプロパティの対応付けを次の表に示します。OAuth 2.0 仕様では、「コンシューマ」ではなく「クライアント」という用語を使用します。
| 接続アプリケーションのアプリケーションラベル | 例の値 |
|---|---|
| コンシューマ鍵 | client_id |
| コンシューマの秘密 | client_secret |
Salesforce への要求を行うには、次の例に組織の値を代入します。
-
アクセストークンを生成します。
次の cURL コマンドはアクセストークンを生成します。
1curl -X POST 'https://instance_name.my.salesforce.com/services/oauth2/token' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'grant_type=client_credentials' \--data-urlencode 'client_id=3MVG9VwZxxW3bBQjhE6m21CG2nSS4WC.GNbZCtKeQxFH7218ns6xOLCNnJVKnZFTZWKzt2qwSFqt2taMt5mcr' \--data-urlencode 'client_secret=8A4BE698BCA216718ECB0B1DCA294C69732EAD9472A1790F8FED38DD2E02B5FA'応答には、次のようにサーバインスタンスとアクセストークンが含まれます。1{ 2"access_token": "00DS7000000oxzo!AR8AQPXAhJNveaXDdPzbrtXqPykdVxBxtbLycpiyPmKyJm0Ku8gKKztulObJ1dhJU8Jt9W8k7FySsPAkvCnsadT_AbJTSW5T", 3"signature": "nUFHwtfIGLKDTHcLWmDBG8frv0t+HQGl/iCZFIQUarE=", 4"token_format": "opaque", 5"instance_url": "https://instance_name.my.salesforce.com“ 6"id": "https://login.salesforce.com/id/00Dd000000XXXXXXX/005d000000XXXXX“, 7"token_type": "Bearer", 8"issued_at": "1678833535086" 9} -
Connect REST API リソースを要求するには、返された instance_url をサーバインスタンスとして使用します。返された access_token を Authorization 要求ヘッダーで Bearer トークンとして渡します。
1curl -X GET https://instance_name/services/data/v58.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 |