オブジェクトを変更する

API 構造ガイドで説明したように、Google Ads API の各最上位リソースには、対応するリソースタイプ固有のサービスがあり、リソースのインスタンスの変更をサポートしています。

このガイドでは、CampaignService を使用して Campaign オブジェクトの変更方法を説明しますが、他のすべてのリソースタイプ固有のサービスにも同じコンセプトが適用されます。

オブジェクトを変更する

各リソースタイプ固有のサービスには、mutate リクエストを受け入れる mutate メソッドがあります。このリクエストは次の要素で構成されています。

  • A: customerId
  • オペレーションのコレクション
  • 変更可能なリソースまたはリソース名のみをミューテーション後に返すかどうかを決定するレスポンス コンテンツ タイプ設定。

たとえば、CampaignServiceMutateCampaigns メソッドは、次の要素で構成される MutateCampaignsRequest を受け取ります。

  • A: customerId
  • CampaignOperation オブジェクトのコレクション
  • 優先するレスポンス タイプを示す response_content_type フィールド。

運用

CampaignOperation などのオペレーション オブジェクトでは、その operation フィールドを設定することで、単一のリソースに対して実行するアクションを指定できます。このフィールドは、タイプがリソースである以下の属性からなる oneof フィールドです。

create
リソースの新しいインスタンスを作成します。
update

update の属性と一致するようにリソースを更新します。

リソースこのフィールドを設定するときは、オペレーションの update_mask も設定する必要があります。これにより、更新オペレーション中にどの属性を変更するかが Google Ads API に指示されます。各クライアント ライブラリには、update_mask を生成するのに役立つユーティリティやヘルパー メソッドが用意されています。クライアント ライブラリをご覧ください。

remove

リソースを削除します。

operation フィールドは oneof フィールドなので、単一のオペレーションを使って複数のオブジェクトを変更することはできません。たとえば、1 つのキャンペーンを作成して別のキャンペーンを削除する場合は、CampaignOperation のインスタンスを 2 つ(create セットと remove セット)リクエストに追加します。

バッチ オペレーション

単一のオペレーションでは単一のリソースの作成、更新、削除しかできませんが、単一の mutate リクエストには複数のオペレーションを含めることができます。複数の mutate リクエストにそれぞれ単一のオペレーションを含めて送信するのではなく、単一の mutate リクエストに複数のオペレーションを結合してください。

たとえば、10 個のキャンペーンを作成する場合は、10 個の CampaignOperation オブジェクトを含む単一の MutateCampaignsRequest を送信します。

mutate レスポンス

レスポンスで返される内容は、ミューテーション リクエストの response_content_type で送信された内容によって異なります。たとえば、MUTABLE_RESOURCE が指定されている場合、レスポンスにはキャンペーンの変更可能なフィールドのみが含まれます。これにより、リソース オブジェクトを再構築することなく、後続の変更を行うことができます。

mutate エラー

特定の mutate リクエストのオペレーションは、リクエスト内のすべてのオペレーションが成功した場合にのみ Google 広告アカウントに適用されます。一般的なエラーのリストと対処方法については、一般的なエラーのガイドをご覧ください。

変更の追跡

Google 広告アカウントのオブジェクトに加えられた変更を追跡したり、オブジェクトの現在の状態を取得したりするには、change_status リソースと change_event リソースを使用します。

  • change_status は、特定の期間内に変更されたリソースの概要を提供します。
  • change_event は、変更されたフィールドの古い値と新しい値など、変更の詳細な履歴を提供します。

これらのリソースをクエリするには、GoogleAdsService.SearchStream メソッドまたは GoogleAdsService.Search メソッドを使用します。詳しくは、GoogleAdsService を使用したレポート ストリーミングをご覧ください。