この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ステップ 2: 認証

API ベースのインテグレーションの最初のアクションは、Salesforce 組織での要求の認証です。Bulk API 2.0 および Bulk API は、異なる認証方式を使用しています。

Bulk API 2.0 は、REST ベースの API で、Salesforce の他の REST API でサポートされるすべての OAuth 2.0 フローがサポートされます。Bulk API 2.0 では、認証にアクセストークン (「ベアラートークン」とも呼ばれる) が必要です。このクイックスタートの本トピック以降では、アクセストークンを取得し、それを使用して cURL で Bulk API 2.0 要求を行う手順について説明します。

一方、Bulk API が使用するセッション ID は、X-SFDC-Session ヘッダーを通じて取得されます。また、この X-SFDC-Session ヘッダーは、SOAP API の login() コールを使用して取得されます。例については、「ステップ 1: SOAP API を使用したログイン」を参照してください。

記載されている例では、アクセストークンが使用されています。それらの手順では、セッション ID が必要な API コールは機能しません。

メモ

独自の接続アプリケーションを作成し、それに対して認証を行うこともできますが、このクイックスタートの例では、便宜上、Salesforce CLI を使用しています。事実上、Salesforce CLI は、認証時に使用できる接続アプリケーションで、設定の作業は不要です。

このクイックスタートの例では、cURL ツールを使用して HTTP 要求を送信し、Salesforce のリソースへのアクセスや、リソースの作成および操作を行います。要求の送信に別のツールを使用している場合は、cURL の例と同じ要素を使用して要求を送信できます。これらの手順は、開発者組織を使用したシナリオを説明していますが、どの種別の Salesforce 組織でも同様に適用できます。cURL ツールは、多くの Linux システムや macOS システムにあらかじめインストールされています。Windows バージョンは、curl.se からダウンロードできます。Windows で HTTPS を使用する場合、システムが SSL の cURL 要件を満たしていることを確認してください。

cURL はオープンソースのツールであり、Salesforce ではサポートされていません。

メモ

Salesforce CLI でのアクセストークンの取得

Salesforce CLI から取得したアクセストークン (「ベアラートークン」とも呼ばれる) を使用して、cURL 要求を認証します。

  1. Salesforce CLI をインストールまたは更新します。
    1. Salesforce CLI がすでにインストールされている場合は、「Salesforce CLI の更新」の手順に従って更新します。
    2. Salesforce CLI のインストールが必要な場合は、ご使用のオペレーティングシステムに対応した最新バージョンをインストールしてください。
    3. インストールを確認します。
  2. Salesforce CLI を使用して開発者組織にログインします。
    1sf org login web
    ブラウザーが開き、https://login.salesforce.com のページが表示されます。
  3. ブラウザーで、ユーザーのログイン情報を使用して開発者組織にログインします。
  4. ブラウザーで [許可] をクリックして、アクセスを許可します。
    コマンドラインに次のような確認メッセージが表示されます。
    1Successfully authorized juliet.capulet@empathetic-wolf-g5qddtr.com with org ID 00D5fORGIDEXAMPLE
  5. コマンドラインで組織に関する認証情報を表示して、アクセストークンを取得します。
    1sf org display --target-org <username>
    次に例を示します。
    1sf org display --target-org juliet.capulet@empathetic-wolf-g5qddtr.com
    コマンド出力の例を次に示します。
    1=== Org Description
    2
    3 KEY             VALUE                                                                                                            
    4 ─────────────── ──────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
    5 Access Token    00DE0X0A0M0PeLE!AQcAQH0dMHEXAMPLEzmpkb58urFRkgeBGsxL_QJWwYMfAbUeeG7c1EXAMPLEDUkWe6H34r1AAwOR8B8fLEz6nEXAMPLE
    6 Api Version     59.0
    7 Client Id       PlatformCLI
    8 Created By      jules@sf.com
    9 Created Date    2023-11-16T20:35:21.000+0000
    10 Dev Hub Id      jules@sf.com
    11 Edition         Developer
    12 Expiration Date 2023-11-23
    13 Id              00D5fORGIDEXAMPLE
    14 Instance Url    https://MyDomainName.my.salesforce.com
    15 Org Name        Dreamhouse
    16 Signup Username juliet.capulet@empathetic-wolf-g5qddtr.com
    17 Status          Active
    18 Username        juliet.capulet@empathetic-wolf-g5qddtr.com
    コマンド出力内にある長いアクセストークン文字列とインスタンス URL 文字列をメモします。cURL 要求を行うには、これらの両方の文字列が必要です。

    アクセストークが期限切れになった後に新しいトークンを取得するには、このステップを繰り返して認証情報を表示してください。

    メモ

Salesforce CLI のショートカット (省略可能)

認証が成功したら、今後 Salesforce CLI での認証を簡素化するために、cURL ワークフローで次のショートカット (省略可能) を試します。

私の組織をリスト表示する
1sf org list
作成した組織または認証先の組織をすべてリスト表示します。
私の組織を開く
1sf org open --target-org <username>
指定の組織 (ユーザー名またはエイリアスで指定した組織) をブラウザーで開きます。Salesforce CLI コマンドの org login web を使用してこの組織での認証がすでに成功しているため、ログイン情報を再指定する必要はありません。
私の組織のアクセストークンを表示する
1sf org display --target-org <username>
該当する場合、出力には、アクセストークン、クライアント ID、接続状況、組織 ID、インスタンス URL、ユーザー名、別名が含まれています。

私のユーザー名の別名を設定する

便宜上、ユーザー名の別名を作成すると、Salesforce 文字列をすべて入力しなくても済むようになります。たとえば、
1juliet.capulet@empathetic-wolf-g5qddtr.com
の代わりに、次のような別名を作成します。
1dev
この例の別名を設定するには、次を実行します。
1sf alias set dev juliet.capulet@empathetic-wolf-g5qddtr.com

スクリプトでこれらのコマンドを使用する

--json フラグを呼び出して CLI の JSON 出力を使用します。JSON 出力を要求すると、出力形式の一貫性が保たれるため、スクリプトの実行に最適です。--json フラグを使用しない場合は、CLI の出力形式が変化する場合があります。

関連トピック