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

クエリジョブの結果の取得

クエリジョブの結果を取得します。ジョブの状態は、JobComplete でなければなりません。

構文

URI
/services/data/vXX.X/jobs/query/queryJobId/results
or

クエリの作成に使用したクエリ結果を取得するには、同じ API バージョンを使用してください。そうしないと、コールによって 409 エラーが返されます。

メモ

適用開始バージョン

このリソースは API バージョン 47.0 以降で使用できます。

形式
CSV
HTTP のメソッド
GET
認証
Authorization: Bearer token
要求パラメーター
パラメーター 説明 必須か省略可能
queryJobId クエリジョブの ID。 必須
locator 特定のクエリ結果セットを識別する文字列。このパラメーターに値を設定すると、その結果セットのみが返されます。

このパラメーターを省略すると、先頭の結果セットが返されます。

次の結果セットのロケーター文字列は、各要求の応答に示されています。「例」および「ルールとガイドライン」を参照してください。

関連するジョブが存在する限り、結果セットのロケーター文字列は変更されません。ロケーターを使用すると、結果セットを何回も取得できます。

省略可能
maxRecords クエリで取得する結果セットあたりの最大レコード数。要求は、依然としてサイズの制限を受けます。

操作するクエリ結果の数が非常に多い場合は、Salesforce からすべてのデータを受信する前にタイムアウトが発生することがあります。タイムアウトを回避するには、maxRecords パラメーターでクライアントが想定する最大受信レコード数を指定します。これにより、この値を最大サイズとして、結果がより小さいセットに分割されます。

このパラメーターに値を設定しない場合、サーバーは、サービスに基づいてデフォルト値を使用します。

省略可能
レスポンスボディ
要求が成功した場合、状況コードは 200 (OK) となり、リクエストボディには、ジョブのクエリ結果が表示されます。次に例を示します。

API バージョン 50.0 以降の場合、クエリで返される列の順序は、列を要求した順序と同じになります。バージョン 49.0 以前の場合、列はアルファベット順に返されます。

メモ

応答ヘッダー
ヘッダー 説明
Sforce-NumberOfRecords このセット内のレコード数。
Sforce-Locator 次の結果セットのロケーター (存在する場合)。次のクエリ結果セットを取得するには、この値を別の GET 要求で使用します。

この値は擬似ランダムな文字列です (MTAwMDA など)。この文字列の長さは、結果セットの数によって変化します。

これ以上クエリ結果セットがない場合、この値は文字列の「null」になります。

「例」および「ルールとガイドライン」を参照してください。

次の例では、ID が 750R0000000zxr8IAA のジョブの結果が取得されます。また、locator および maxRecords クエリパラメーターの使用方法も示されます。(この例では、両方を使用していますが、それぞれは独立しています。一緒に使用する必要はありません。)

最初に、先頭のクエリ結果セットを取得するために初期要求を送信します。先頭の結果セットを取得するため、locator パラメーターは使用しま��ん。

Accept ヘッダーは、ジョブの作成時に指定された内容と一致している必要があります。現在サポートされているのは、text/csv のみです。

メモ

レスポンスボディは次のようになります。

この応答には、Sforce-Locator ヘッダーの値として MTAwMDA が含まれています。この値が「null」でないということは、取得できるクエリ結果が他にもあることを意味します。

次のクエリ結果セットを取得するには、locator パラメーターとロケーター文字列 MTAwMDA を使用して別の要求を送信します。

レスポンスボディは次のようになります。

ロケーター値が変更されています。これは、取得できるクエリ結果セットが他にもあることを意味します。別の要求で新しいロケーター文字列 MjAwMDAw を使用します。

Sforce-Locator ヘッダーの値が「null」、つまり取得する結果が他になくなるまで、このプロセスを繰り返します。

ルールとガイドライン

クエリ結果セット全体を取得するには、以下のルールおよびガイドラインに従います。

  1. /services/data/vXX.X/jobs/query/queryJobId/results を使用して、ジョブの最初の結果セットを取得します。
  2. これ以上結果がない場合、Sforce-Locator ヘッダーの値は文字列の「null」になります。それ以外の場合、locator クエリパラメーターをその値に設定すると、次の結果セットが取得されます。

    locator には、Sforce-Locator ヘッダーの値のみを使用してください。値を推測することは試みないでください。このパラメーターの評価方法は、変更されることがあります。

    メモ

  3. この手順を繰り返していくと、Sforce-Locator ヘッダーの値が文字列の「null」になります。そのセットが最後の結果セットとなります。