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

Как описано в руководстве по структуре API , каждый ресурс верхнего уровня в Google Ads API имеет соответствующую службу, специфичную для конкретного типа ресурса, которая поддерживает:

  • Изменение экземпляров ресурса
  • Получение одного экземпляра ресурса для проверки

В этом руководстве будет использоваться 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 Рекламы только в том случае, если каждая операция в запросе будет успешной. Ознакомьтесь с руководством по распространенным ошибкам , чтобы получить список распространенных ошибок и способы их устранения.

Проверка объектов с помощью get (устарело)

Помимо изменения объектов, каждая служба, специфичная для типа ресурса, также имеет метод get для получения всех атрибутов одного ресурса. Этот метод принимает запрос на получение, единственным атрибутом которого является resource_name .

Методы get — это удобство, предлагаемое Google Ads API, позволяющее легко получить все атрибуты одного объекта. Хотя это отличный инструмент для изучения API или проверки отдельного объекта в целях отладки или обучения, ваше приложение не должно использовать методы get для получения объектов для обработки или создания отчетов. Вместо этого используйте GoogleAdsService , поскольку он позволяет получать только определенные атрибуты объектов, поддерживает получение показателей производительности и обеспечивает потоковую передачу больших наборов результатов. Если ваше приложение отправляет большое количество запросов на получение, вы можете столкнуться с ограничениями скорости.