API Google Ads поддерживает связывание аккаунтов Google Ads с аккаунтами других продуктов. В этом руководстве объясняется, как использовать API для связывания аккаунтов.
Способы связывания аккаунтов
При связывании аккаунта Google Ads с другим аккаунтом продукта существует два разных способа связывания.
Поток приглашений
Приглашение используется, если у вас есть доступ администратора к аккаунту Google Ads, но нет доступа к аккаунту продукта. Этот процесс работает в двух сценариях:
- Вы хотите связать две учётные записи и создать приглашение для администратора учётной записи продукта. Администратор учётной записи продукта принимает приглашение, чтобы завершить процесс связывания учётных записей.
 - Администратор аккаунта продукта хочет связать два аккаунта, но у него нет доступа к аккаунту Google Рекламы. Администратор аккаунта продукта создаёт приглашение, которое вы принимаете и завершаете процесс связывания.
 
В этом сценарии используются следующие методы:
| Сценарий | Действие | Замечания | 
|---|---|---|
| Сценарий 1 | Создать приглашение |  Используйте метод ProductLinkInvitationService.CreateProductLinkInvitation для создания приглашения. status ProductLinkInvitation не должен быть установлен; сервер API Google Ads установит его в REQUESTED после успешного завершения вызова API. | 
| Проверить статус приглашения |  Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream для запроса ресурса product_link_invitation и проверки его статуса. | |
| Сценарий 2 | Получить приглашение |  Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream для запроса ресурса product_link_invitation . Фильтр по status = PENDING_APPROVAL позволяет принять или отклонить ожидающее приглашение. | 
| Принять или отклонить приглашение |  Используйте метод ProductLinkInvitationService.UpdateProductLinkInvitation для обновления статуса ProductLinkInvitation на ACCEPTED или REJECTED . | |
| Отозвать приглашение |  Используйте метод ProductLinkInvitationService.RemoveProductLinkInvitation для отзыва существующего ProductLinkInvitation . | 
В этом рабочем процессе могут быть допущены следующие распространенные ошибки:
| Код ошибки | Объяснение | 
|---|---|
 ProductLinkInvitationError.PERMISSION_DENIED | У клиента нет разрешения на выполнение этого действия. | 
 ProductLinkError.NO_INVITATION_REQUIRED | Не удалось создать приглашение, так как у пользователя уже есть права администратора к приглашённой учётной записи. Пользователю следует использовать ProductLinkService для создания активной ссылки. | 
Прямой поток ссылок
Прямое связывание используется, когда у вас есть доступ администратора как к аккаунту Google Ads, так и к аккаунту продукта. В этом случае вы напрямую связываете аккаунт Google Ads с аккаунтом продукта, а не отправляете приглашение.
В этом сценарии используются следующие методы:
| Действие | Замечания | 
|---|---|
| Создать активную ссылку |  Используйте ProductLinkService.createProductLink для создания ProductLink . | 
| Отключить активную ссылку |  Используйте ProductLinkService.removeProductLink для удаления активной ProductLink . | 
| Получить активные ссылки |  Используйте GoogleAdsService.Search или GoogleAdsService.SearchStream для запроса ресурса product_link . | 
В этом рабочем процессе могут возникнуть следующие распространенные ошибки:
| Код ошибки | Объяснение | 
|---|---|
 ProductLinkError.CREATION_NOT_PERMITTED |  Была предпринята попытка привязать аккаунт с помощью прямого подключения, но эта функция не поддерживается из-за отсутствия разрешений. Пользователю следует использовать ProductLinkInvitationService для отправки приглашения. | 
 ProductLinkError.INVITATION_EXISTS | Ссылка не может быть создана, так как уже существует ожидающее приглашение. | 
 Изменения в AccountLinkService
 Если вы используете AccountLinkService для привязки аккаунта Google Ads к аккаунту другого продукта, вам необходимо перенести существующее приложение в один из перечисленных выше рабочих процессов. Для следующих типов привязки выполните миграцию с AccountLinkService и используйте ProductLinkService :
-  
GoogleAdsIdentifier -  
MerchantCenterIdentifier -  
AdvertisingPartnerIdentifier 
 Для ThirdPartyAppAnalyticsLinkIdentifier продолжайте использовать AccountLinkService .