Как устанавливать связь с аккаунтами продуктов

Google Ads API позволяет связывать аккаунты Google Рекламы с аккаунтами других продуктов. В этом руководстве рассказывается, как связать аккаунты с помощью API.

Связать аккаунт Google Рекламы с аккаунтом другого продукта можно двумя способами.

Процесс приглашения

Используйте приглашение, если у вас есть доступ с правами администратора к аккаунту Google Рекламы, но не к аккаунту продукта. Этот процесс работает в двух сценариях:

  1. Вы хотите связать два аккаунта и отправить приглашение администратору аккаунта продукта. Администратор аккаунта продукта принимает приглашение, чтобы завершить процесс связывания аккаунтов.
  2. Администратор аккаунта продукта хочет связать два аккаунта, но у него нет доступа к аккаунту Google Рекламы. Администратор аккаунта продукта создает приглашение, а вы принимаете его и завершаете процесс связывания.

В этом случае используйте следующие методы:

Сценарий Действие Примечания
Scenario 1 Как создать приглашение Чтобы создать приглашение, используйте метод ProductLinkInvitationService.CreateProductLinkInvitation. Поле status объекта ProductLinkInvitation не должно быть задано. Сервер Google Ads API установит для него значение REQUESTED после успешного выполнения вызова API. При создании приглашения для рекламного партнера (AdvertisingPartnerLinkInvitationIdentifier) начиная с версии 25 требуется указать advertising_partner_properties.allowed_domain (в версии 24 и более ранних версиях это поле необязательно).
Как проверить статус приглашения Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream, чтобы запросить ресурс product_link_invitation и проверить его статус.
Scenario 2 Как получить приглашение Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream для запроса ресурса product_link_invitation. Отфильтруйте по значению status = PENDING_APPROVAL, чтобы принять или отклонить ожидающее приглашение.
Как принять или отклонить приглашение Используйте метод ProductLinkInvitationService.UpdateProductLinkInvitation, чтобы изменить статус ProductLinkInvitation на ACCEPTED или REJECTED.
Как отозвать приглашение Используйте метод ProductLinkInvitationService.RemoveProductLinkInvitation, чтобы отозвать существующий ProductLinkInvitation.

В этом рабочем процессе могут возникать следующие распространенные ошибки:

Код ошибки Описание
ProductLinkInvitationError.PERMISSION_DENIED У клиента нет разрешения на выполнение этого действия.
ProductLinkInvitationError.NO_INVITATION_REQUIRED Не удалось создать приглашение, поскольку у пользователя уже есть доступ с правами администратора к приглашенному аккаунту. Пользователь должен использовать ProductLinkService, чтобы напрямую создать активную ссылку.

Процесс прямого связывания

Используйте прямое связывание, если у вас есть доступ с правами администратора и к аккаунту Google Рекламы, и к аккаунту продукта. В этом случае свяжите аккаунт Google Рекламы с аккаунтом продукта напрямую, не отправляя приглашение.

В этом случае используйте следующие методы:

Действие Примечания
Как создать активную ссылку Используйте ProductLinkService.CreateProductLink, чтобы создать ProductLink.
Как отключить активную ссылку Используйте ProductLinkService.RemoveProductLink, чтобы удалить активный объект ProductLink.
Как получить активные ссылки Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream, чтобы запросить ресурс product_link.

В этом рабочем процессе могут возникать следующие распространенные ошибки:

Код ошибки Описание
ProductLinkError.CREATION_NOT_PERMITTED Была предпринята попытка связать аккаунты с помощью прямой ссылки, но это не поддерживается из-за отсутствия разрешений. Вместо этого пользователю следует использовать ProductLinkInvitationService.
ProductLinkError.INVITATION_EXISTS Не удалось создать ссылку, поскольку уже есть ожидающее приглашение.

Чтобы получить все связи с продуктами, относящиеся к вашему аккаунту Google Рекламы, выполните запрос GAQL к ресурсу product_link.

SELECT
  product_link.product_link_id,
  product_link.type
FROM product_link

Поле product_link.type указывает на тип связанного продукта или сервиса. В зависимости от значения type будут заполнены другие поля ресурса product_link, в которых будет приведена дополнительная информация о ссылке. Например, если тип – DATA_PARTNER, то поле data_partner будет содержать информацию о связанном аккаунте партнера по обработке данных.

Это позволяет получить список внешних сервисов и аккаунтов продуктов, связанных непосредственно с вашим аккаунтом Google Рекламы, например Merchant Center, Google Рекламы, партнеров по рекламе или партнеров по обработке данных.

Изменения в AccountLinkService

Если вы используете AccountLinkService, чтобы связать аккаунт Google Рекламы с аккаунтом другого продукта, вам нужно перенести существующее приложение в один из рабочих процессов, перечисленных выше. Для следующих типов ссылок откажитесь от AccountLinkService и используйте ProductLinkService:

Для ThirdPartyAppAnalyticsLinkIdentifier продолжайте использовать AccountLinkService.