修改資源

Google Ads API 提供多種變動資源的方式,視您的用途而定:

  • 資源服務變動:每個可變動資源都有專屬服務,可對該特定資源類型執行作業。舉例來說,Campaign 資源會使用 CampaignService.MutateCampaigns 端點來建立、更新或移除廣告活動。
  • 大量異動:GoogleAdsService.Mutate 端點會將多種資源類型的一連串異動作業 (以及支援的動作作業,例如預訂或報價廣告活動),包裝在單一同步要求中。
  • 非同步批次工作:對於大規模異動或長時間執行的工作負載,BatchJobService 會以非同步方式執行作業,避免同步要求逾時。與 GoogleAdsService.Mutate 不同,BatchJobService 一律在部分失敗語意下執行,且不支援 validate_only 模式或動作作業 (book_campaigns_operation、quote_campaigns_operation)。由於部分失敗一律有效,BatchJobService 會拒絕基礎服務不支援部分失敗的資源作業 (例如 CustomerOperation、CampaignConversionGoalOperation、ConversionGoalCampaignConfigOperation、CustomConversionGoalOperation 和 CustomerConversionGoalOperation),並傳回 MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE。

大量異動的好處

使用 GoogleAdsService.Mutate 有下列好處 (如需實作指南,請參閱「Mutate 最佳做法」):

  • 跨不同資源服務的分組動作:個別資源服務呼叫僅接受單一資源類型的作業,而 GoogleAdsService.Mutate 可讓您在一次呼叫中變更多個資源類型。
  • 臨時資源名稱:您可以將負整數 ID (例如 customers/CUSTOMER_ID/campaigns/-1) 指派給新建立的上層實體,並在同一要求的子項作業中參照這些臨時 ID。

有了這些功能,您可以使用 GoogleAdsService.Mutate 以不可分割的方式建立整個廣告活動階層,讓所有作業一起成功或失敗,或將 partial_failure 設為 true,單獨提交有效作業。