Изменение и проверка объектов

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Как описано в руководстве по структуре 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 , так как он позволяет получать только определенные атрибуты объектов, поддерживает получение показателей производительности и обеспечивает потоковую передачу больших наборов результатов. Если ваше приложение отправляет большое количество запросов на получение, вы можете столкнуться с ограничениями скорости.