Как обсуждалось в руководстве по структуре API , каждый ресурс верхнего уровня в API Google Ads имеет соответствующую специфичную для типа ресурса службу, которая поддерживает изменение экземпляров ресурса.
В этом руководстве для демонстрации изменения объектов Campaign будет использоваться CampaignService , но те же концепции применимы ко всем остальным службам, специфичным для определенного типа ресурсов.
Изменить объекты
Каждый сервис, специфичный для данного типа ресурса, будет иметь метод mutate , принимающий запрос на mutate. Этот запрос состоит из:
-
customerId - Коллекция операций
- Настройка типа содержимого ответа, которая определяет, следует ли возвращать изменяемый ресурс или только имя ресурса после мутации.
Например, метод MutateCampaigns службы CampaignService принимает запрос MutateCampaignsRequest , состоящий из:
-
customerId - Коллекция объектов
CampaignOperation - Поле
response_content_typeуказывает предпочтительный тип ответа.
Операции
Объект операции, такой как CampaignOperation позволяет указать действие, которое требуется выполнить над отдельным ресурсом, задав его поле operation . Это поле представляет собой поле типа «one-of», состоящее из следующих атрибутов, тип которых соответствует типу ресурса:
-
create - Создает новый экземпляр ресурса.
-
update - Обновляет ресурс в соответствии с атрибутами ресурса
update. При установке этого поля необходимо также задатьupdate_maskоперации, которая сообщает API Google Ads, какие атрибуты следует изменить во время операции обновления. В каждой клиентской библиотеке есть служебный или вспомогательный метод, который сгенерируетupdate_mask, как показано в наших клиентских библиотеках . -
remove - Удаляет ресурс.
Поскольку поле operation является полем oneof , вы не можете использовать одну операцию для изменения нескольких объектов. Например, если вы хотите создать одну кампанию и удалить другую, добавьте в запрос два экземпляра CampaignOperation : один с функцией create set» и другой с функцией remove set».
Пакетные операции
Хотя одна операция может создавать, обновлять или удалять только один ресурс, один запрос на мутацию может содержать несколько операций. Рекомендуется объединять операции в один запрос на мутацию вместо отправки нескольких запросов на мутацию, каждый из которых содержит одну операцию.
Например, если вы хотите создать десять кампаний, вам следует отправить один MutateCampaignsRequest , содержащий десять объектов CampaignOperation .
Мутировать ответы
То, что возвращается в ответе, зависит от того, что было отправлено в response_content_type запроса на изменение. Например, если было указано MUTABLE_RESOURCE , то ответ будет содержать только изменяемые поля кампании. После этого вы сможете выполнять последующие изменения этого объекта ресурса без необходимости его реконструкции.
Ошибки мутации
Операции в запросе mutate будут применены к вашему аккаунту Google Ads только в том случае, если все операции в запросе будут выполнены успешно. Ознакомьтесь с руководством по распространённым ошибкам, чтобы ознакомиться со списком распространённых ошибок и способами их устранения.