Mutate

ほとんどのリソースは、Mutate を使用して変更(作成、更新、削除)されます。 メソッドを呼び出します。Mutate メソッドは、リソース固有の API への HTTP POST として呼び出されます。 リソース名のパターンに一致する、末尾のリソース ID のない URL。 代わりに、変更対象のリソースの ID が JSON リクエストで送信されます。 できます。これにより、複数のオペレーションを含む単一の API 呼び出しを送信できます。 異なるリソースを使用します。

たとえば、キャンペーンのリソース名は次の形式になります。

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

キャンペーンの変更に使用する URL を導き出すには、末尾のリソース ID と :mutate を追加します。

https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate

Mutate メッセージに、operations 配列を持つ最上位の JSON オブジェクトが含まれる 多数の operation オブジェクトを含めることができます。また、各オペレーションは 1 つの createupdateremove のいずれか。これが唯一の変換です 必要があります。

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    ...
  ]
}

ほとんどのサービスでは、1 回の API 呼び出しで数千ものオペレーションがサポートされています。システム 上限については、 制限があることがわかります。

単一の API リクエスト内のオペレーションは、 すべて同時に成功するか、バッチ全体が失敗するかのいずれかです。 失敗します一部のサービスでは partialFailure 属性 この動作を変更できます。リソースのミューテーションをご覧ください。 変換オペレーションのセマンティクスの詳細については、こちらをご覧ください。

作成

作成オペレーションでは新しいエンティティが生成され、完全な JSON を含める必要があります。 名前を指定します。

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
    "create": {
        "name": "An example campaign",
        "status": "PAUSED",
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID",
        "advertisingChannelType": "SEARCH",
        "networkSettings": {
          "targetGoogleSearch": true,
          "targetSearchNetwork": true,
          "targetContentNetwork": true,
          "targetPartnerSearchNetwork": false
        },
        "target_spend": {}
      }
    }
  ]
}

更新

更新オペレーションは、既存のリソースに対してスパース アップデートを実行します。必要なのは、 変更するフィールドを指定します。

更新するフィールドを指定するには、updateMask 属性を次のように設定します。 フィールド名のカンマ区切りリストを指定します。これは特に オブジェクトの完全な形式の JSON 表現がすでに存在します(例: 特定のフィールドのみを変更したい場合。 JSON オブジェクトをプルーニングする代わりに、抽出するフィールド名を JSON オブジェクト全体を送信します。updateMask

次の例では、次を含む既存のキャンペーンの namestatus を変更します。 指定された resourceName

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "updateMask": "name,status",
      "update": {
        "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID",
        "name": "My renamed campaign",
        "status": "PAUSED",
      }
    }
  ]
}

削除

削除オペレーションは実質的にオブジェクトを削除し、その Google 広告のステータスを REMOVED。削除が必須なのは resourceName のみです。

POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "operations": [
    {
      "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID"
    }
  ]
}