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