ステップ 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.my.salesforce.com/services/data/v60.0/chatter/users/me 2 -H 'Authorization: Bearer 00DS7000000oxzo!AR8AQPXAhJNveaXDdPzbrtXqPykdVxBxtbLycpiyPmKyJm0Ku8gKKztulObJ1dhJU8Jt9W8k7FySsPAkvCnsadT_AbJTSW5T'
この例では次の値を使用しています。
| プロパティ | 値 |
|---|---|
| client_id | 3MVG9VwZxxW3bBQjhE6m21CG2nSS4WC.GNbZCtKeQxFH7218ns6xOLCNnJVKnZFTZWKzt2qwSFqt2taMt5mcr |
| client_secret | 8A4BE698BCA216718ECB0B1DCA294C69732EAD9472A1790F8FED38DD2E02B5FA |
| grant_type | grant_type の値は使用する OAuth 認証フローに応じて異なります。 |