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