リソースを作成、更新、削除します。このメソッドは、複数のタイプのリソースを使用するアトミック トランザクションをサポートしています。たとえば、キャンペーンとキャンペーンの予算をアトミックに作成したり、最大数千のミューテーションをアトミックに実行したりできます。
このメソッドは基本的に、一連の変更メソッドのラッパーです。これらのメソッドの直接呼び出しよりも、次の機能のみが提供されます。
- アトミック トランザクション
- 一時リソース名(後述)
- 一連の変更呼び出しよりもレイテンシが若干短縮されます。
注: アトミック トランザクションをサポートするリソースのみが含まれるため、このメソッドで個々のサービスへのすべての呼び出しを置き換えることはできません。
アトミック トランザクションのメリット
アトミック性により、エラー処理がはるかに容易になります。何度か変更を加えても、1 つでもうまくいかない場合、アカウントに対して一貫性のない状態になる可能性があります。アトミック性を使用すると、選択した状態に直接到達するか、リクエストが失敗して再試行できます。
一時リソース名
一時リソース名は、リソースを作成し、同じリクエストでそのリソースを参照するために使用される特別なタイプのリソース名です。たとえば、キャンペーン予算が customers/123/campaignBudgets/-1
と等しい resourceName
で作成された場合、そのリソース名は、同じリクエストの Campaign.budget
フィールドで再利用できます。このようにして、2 つのリソースがアトミックに作成され、リンクされます。
一時リソース名を作成するには、通常サーバーが割り当てる名前の部分に負の数を挿入します。
注:
- リソース名を再利用するには、まず一時名を指定してリソースを作成する必要があります。たとえば前の「キャンペーン予算とキャンペーン」の例では、変更の順序が逆になっていると失敗します。
- 一時名はリクエスト間で記憶されません。
- リクエスト内の温度名の数に制限はありません。
- リソースタイプが異なる場合でも、各一時名には一意の負の数を使用する必要があります。
レイテンシ
リソースタイプで変更をグループ化することが重要です。そうしないと、リクエストがタイムアウトして失敗する可能性があります。レイテンシは、個々の ミューテーション メソッドを連続して呼び出すのとほぼ等しくなります。リソースタイプが変わるたびに新しい呼び出しとなります。たとえば、キャンペーンを 10 個変更し、広告グループを 10 個変更すると 2 回の呼び出しに相当するようになります。一方、キャンペーン 1 個、広告グループ 1 個、キャンペーン 1 個、広告グループ 1 個を変更する場合は、呼び出し 4 回としてカウントされます。
次のエラーのリストをご覧ください。AdCustomizerErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError
HTTP リクエスト
POST https://googleads.googleapis.com/v14/customers/{customerId}/googleAds:mutate
この URL は gRPC Transcoding 構文を使用します。
パスパラメータ
パラメータ | |
---|---|
customerId |
必須。リソースが変更される顧客の ID。 |
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "mutateOperations": [ { object ( |
フィールド | |
---|---|
mutateOperations[] |
必須。個々のリソースに対して実行するオペレーションのリスト。 |
partialFailure |
true の場合、成功したオペレーションが実行され、無効なオペレーションはエラーを返します。false の場合、すべての操作が有効である場合にのみ、すべての操作が 1 つのトランザクションで実行されます。デフォルトは false です。 |
validateOnly |
true の場合、リクエストは検証されますが、実行されません。エラーのみが返され、結果は返されません。 |
responseContentType |
レスポンスのコンテンツ タイプの設定。ミューテーション後に可変リソースを返すか、リソース名のみを返すかを決定します。可変リソースは、リソースに適切なレスポンス フィールドがある場合にのみ返されます。(例: MutateCampaignResult.campaign)。 |
レスポンスの本文
GoogleAdsService.Mutate
に対するレスポンス メッセージです。
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 |
---|
{ "partialFailureError": { object ( |
フィールド | |
---|---|
partialFailureError |
部分障害モードのオペレーションの失敗に関連するエラー。partialFailure が true で、オペレーション内ですべてのエラーが発生した場合にのみ返されます。オペレーションの外部でエラー(認証エラーなど)が発生した場合は、RPC レベルのエラーが返されます。 |
mutateOperationResponses[] |
mut に対するすべてのレスポンス。 |
認可スコープ
次の OAuth スコープが必要です。
https://www.googleapis.com/auth/adwords
詳細については、OAuth 2.0 の概要をご覧ください。