警告

Google Ads API では、リクエスト内の非ブロッキング エラーをレスポンスで返すようにリクエストできます。この機能(警告)を使用すると、成功したリクエストの最後に、ブロックしないエラーを個別に処理できます。

警告は、店舗販売取引のオフライン データをアップロードする際の OfflineUserDataJobService.AddOfflineUserDataJobOperations メソッドでのみサポートされています。

警告は次の 2 つのシナリオで使用できます。

  1. 機能の非推奨化が予定されている場合や、新しい検証ルールが導入される予定がある場合、リクエストがまもなく影響を受けることをデベロッパーに事前に知らせるために、レスポンスで無効なリクエストの警告が提供されることがあります。これらの警告は、最終的にエラーになる予定です。

  2. サーバーで、現在の変更オペレーションのコミットを必ずしもブロックしないエラーが発生した場合、ブロックしないエラーは警告として返されることがあります。

詳細な技術情報

メソッドでこの機能を利用するには、対応するリクエスト オブジェクトの enable_warnings フィールドを設定する必要があります。たとえば、AddOfflineUserDataJobOperationsRequestenable_warnings フィールドを指定して、OfflineUserDataJobService.AddOfflineUserDataJobOperations メソッドから警告を取得できます。サービスは、validate_onlyenable_partial_failure フラグなどの他のパラメータに従ってオペレーションを実行します。API 呼び出しが成功すると、API 呼び出し中に発生した非ブロッキング エラーが warnings フィールドに返されます。

用途

店舗販売取引のオフライン データをアップロードするとします。item_attribute は省略可能なフィールドとして指定できます。このプロパティに不正な形式の値を指定しても、オペレーションの成功は妨げられません。この場合、形式が正しくないフィールドに関するエラーの詳細が警告として取得されることがあります。

オペレーションを作成して API 呼び出しを行う

通常どおりに mutate オペレーションを作成して API 呼び出しを行います。

Java

// Issues a request to add the operations to the offline user data job.
AddOfflineUserDataJobOperationsResponse response =
    offlineUserDataJobServiceClient.addOfflineUserDataJobOperations(
        AddOfflineUserDataJobOperationsRequest.newBuilder()
            .setResourceName(offlineUserDataJobResourceName)
            .setEnablePartialFailure(true)
            // Enables warnings (optional).
            .setEnableWarnings(true)
            .addAllOperations(userDataJobOperations)
            .build());
      

C#

// Constructs a request with partial failure enabled to add the operations to the
// offline user data job, and enable_warnings set to true to retrieve warnings.
AddOfflineUserDataJobOperationsRequest request =
    new AddOfflineUserDataJobOperationsRequest()
{
    EnablePartialFailure = true,
    ResourceName = offlineUserDataJobResourceName,
    Operations = { userDataJobOperations },
    EnableWarnings = true,
};

AddOfflineUserDataJobOperationsResponse response = offlineUserDataJobServiceClient
    .AddOfflineUserDataJobOperations(request);
      

PHP

// Issues a request to add the operations to the offline user data job.
/** @var AddOfflineUserDataJobOperationsResponse $operationResponse */
$request = AddOfflineUserDataJobOperationsRequest::build(
    $offlineUserDataJobResourceName,
    $userDataJobOperations
);
// (Optional) Enables partial failure and warnings.
$request->setEnablePartialFailure(true)->setEnableWarnings(true);
$response = $offlineUserDataJobServiceClient->addOfflineUserDataJobOperations($request);