Распространенные ошибки

На этой странице перечислены типичные ошибки и приведены советы по их предотвращению и устранению. Полный список ошибок приведен в справочнике по ошибкам, руководстве по ошибкам API и руководстве по типам ошибок. Если вам нужна помощь, обратитесь в службу поддержки Google Ads API.

google.rpc.ErrorInfo

ACCESS_TOKEN_SCOPE_INSUFFICIENT
СводкаУ токена доступа OAuth 2.0 нет необходимых областей действия.
Основные причины Запрос отклонен, поскольку предоставленный токен доступа не включает область действия OAuth 2.0 Google Ads API.
Как обрабатывать Убедитесь, что у токена доступа есть необходимые области действия. Часто эта ошибка возникает, если вы повторно используете существующий токен доступа, созданный с помощью другого набора областей действия OAuth. Пример создания нового токена доступа с необходимыми областями действия приведен в разделе Параметры авторизации OAuth.
Советы по предотвращению Убедитесь, что у токена доступа есть необходимые области действия. Повторно аутентифицируйте пользователя с необходимыми областями действия, чтобы получить доступ с необходимыми областями действия. Если в вашем приложении используется несколько областей действия OAuth, вам может потребоваться реализовать детализированные разрешения OAuth.

google.auth.exceptions.RefreshError

invalid_grant
СводкаСрок действия токена истек или он был отозван.
Основные причины В проекте Google Cloud Platform с окном запроса доступа OAuth, настроенным для внешнего типа пользователей, и статусом публикации Testing токен обновления действует семь дней.
Как обрабатывать Статус публикации вашего проекта Google – Testing, поэтому срок действия токена обновления истекает каждые семь дней и возникает ошибка invalid_grant. Перейдите в Google API Console и откройте окно запроса доступа OAuth. Затем измените статус публикации на In production, чтобы срок действия токена обновления не истек через 7 дней.
Советы по предотвращению Подробнее о непроверенных приложениях…

AdError

CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR
СводкаЭтот оператор нельзя использовать с подклассом Ad.
Основные причины Попытка изменить атрибуты, отличные от status объявления.
Как обрабатывать –
Советы по предотвращению После создания объявления его нельзя изменить. Можно лишь удалить его и создать новое. Однако status объявления можно изменить с помощью MutateAdGroupAds.
INVALID_INPUT
СводкаОдно из полей объявления содержит недопустимые символы.
Основные причины Использование специальных символов в URL.
Как обрабатывать –
Советы по предотвращению Проверяйте URL в приложении перед отправкой запроса к API.
LINE_TOO_WIDE
СводкаОдно из полей в объявлении превышает максимально допустимую длину. Подробнее о текстовых объявлениях…
Основные причины Слишком длинная строка текста.
Как обрабатывать –
Советы по предотвращению Проверьте длину строки, прежде чем отправлять запрос к API.

AdGroupAdError

AD_GROUP_AD_LABEL_ALREADY_EXISTS
СводкаЭтот ярлык уже связан с некоторыми объявлениями.
Основные причины Попытка связать ярлык с объявлениями, с которыми он уже связан.
Как обрабатывать –
Советы по предотвращению Сначала проверьте, не связан ли уже ярлык, который вы хотите добавить, с объявлениями.
CANNOT_OPERATE_ON_REMOVED_ADGROUPAD
СводкаПроизведена попытка обновить удаленное объявление.
Основные причины Удаленные объявления нельзя изменять, в том числе менять их статус.
Как обрабатывать –
Советы по предотвращению Убедитесь, что ваш код не обновляет удаленные объявления.

AdGroupCriterionError

INVALID_KEYWORD_TEXT
СводкаТекст ключевого слова содержит недопустимые символы. Подробнее о том, как добавлять ключевые слова…
Основные причины Текст ключевого слова содержит недопустимые символы.
Как обрабатывать –
Советы по предотвращению Проверьте текст ключевого слова в приложении, прежде чем отправлять запрос к API.

AdGroupError

DUPLICATE_ADGROUP_NAME
СводкаПри добавлении или переименовании группы объявлений используется название, уже назначенное другой группе объявлений.
Основные причины Создание новой группы объявлений с названием существующей активной или приостановленной группы объявлений.
Как обрабатывать Зарегистрируйте ошибку и покажите пользователю сообщение об ошибке. При необходимости предложите уникальное название группы объявлений или покажите список уже используемых названий.
Советы по предотвращению –

AssetError

DUPLICATE_ASSET
СводкаДве операции в одном запросе содержат операцию создания объекта с одинаковыми двоичными данными.
Основные причины Запрос mutate с повторяющимися операциями создания, содержащими одни и те же двоичные данные.
Как обрабатывать Создайте объект в отдельном запросе, а затем укажите ссылку на него в последующем запросе или используйте временный идентификатор в том же запросе.
Советы по предотвращению –
PARTNER_PROMOTION_ID_TYPE_INCOMPATIBLE
СводкаВ идентификаторе промоакции партнера используется вариант oneof (int_value или string_value), который не поддерживается интеграцией промоакций аккаунта.
Основные причины Заполнение поля promotion_asset.external_redeem_info.partner_promotion_id.int_value, когда для интеграции погашения требуется вариант string_value, или заполнение поля string_value, когда для интеграции требуется вариант int_value.
Как обрабатывать Обновите запрос на создание, чтобы заполнить вариант ExternalPartnerId (int_value или string_value), принятый интеграцией промоакций аккаунта. Подробнее о том, как отслеживать использование внешних промоакций…
Советы по предотвращению Прежде чем создавать сообщение PromotionAsset с полем external_redeem_info, проверьте, какой формат идентификатора промоакции (int_value или string_value) используется в вашей интеграции с POS-терминалом.

AuthenticationError

CLIENT_CUSTOMER_ID_INVALID
СводкаИдентификатор клиента не является числом.
Основные причины Используется неверный идентификатор клиента.
Как обрабатывать –
Советы по предотвращению 123-456-7890 следует указать как 1234567890. Подробности – в статье Начало работы.
CLIENT_CUSTOMER_ID_IS_REQUIRED
СводкаВ HTTP-заголовке не указан идентификатор клиента.
Основные причины Не указан идентификатор клиента в заголовке HTTP.
Как обрабатывать –
Советы по предотвращению Идентификатор клиента необходим для всех вызовов, поэтому убедитесь, что вы указали его в заголовке HTTP. Рекомендуем использовать наши клиентские библиотеки, которые выполняют эту задачу автоматически.
CUSTOMER_NOT_FOUND
СводкаНе найден аккаунт, соответствующий идентификатору клиента, указанному в заголовке.
Основные причины Попытка получить доступ к аккаунту, который был только что создан и ещё не зарегистрирован в серверной части.
Как обрабатывать Сначала подождите пять минут, а затем повторяйте попытку каждые 30 сек.
Советы по предотвращению Подождите несколько минут после создания аккаунта, прежде чем отправлять для него запросы.
СводкаТокен доступа в заголовке запроса недействителен или просрочен.
Основные причины Токен доступа стал недействителен.
Как обрабатывать Запросите новый токен. Если вы используете одну из наших клиентских библиотек, ознакомьтесь с документацией по обновлению токена.
Советы по предотвращению Храните и используйте токены доступа до истечения срока их действия.
NOT_ADS_USER
СводкаАккаунт Google, использованный для создания токена доступа, не связан ни с одним аккаунтом Google Рекламы.
Основные причины Введенные логин и пароль относятся к аккаунту Google, с которым не связан аккаунт Google Реклама.
Как обрабатывать Убедитесь, что вы вошли в действительный аккаунт Google Рекламы (обычно это управляющий аккаунт) для процесса OAuth. Вы также можете пригласить аккаунт Google в существующий аккаунт Google Рекламы. Для этого войдите в управляющий аккаунт, выберите нужный клиентский или управляющий аккаунт, перейдите в раздел Tools and Settings > Access and security и добавьте адрес электронной почты аккаунта Google.
Советы по предотвращению –
OAUTH_TOKEN_INVALID
СводкаТокен доступа OAuth в заголовке недействителен.
Основные причины Токен доступа, переданный с HTTP-заголовком, был неверным.
Как обрабатывать –
Советы по предотвращению Убедитесь, что вы передаете правильный токен доступа, связанный с вашим аккаунтом. Иногда его путают с токенами обновления и кодами авторизации. Если вы хотите получить учетные данные, которые позволят вам работать со всеми клиентскими аккаунтами, относящимися к управляющему аккаунту, то вам потребуется токен обновления для управляющего аккаунта. Подробная информация приведена в руководстве по аутентификации пользователей.

AuthorizationError

CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION
СводкаОблачный проект Google Cloud имеет только тестовый доступ и не может использоваться для доступа к рабочим аккаунтам.
Основные причины Для отправки запроса в рабочий аккаунт Google Рекламы использовался облачный проект Google Cloud с тестовым уровнем доступа. В API версии 24 и более ранних это условие возвращает AuthorizationError.ACTION_NOT_PERMITTED.
Как обрабатывать Если вы проводите тестирование, убедитесь, что запрос направлен в тестовый аккаунт. Если вы хотите получить доступ к рабочему аккаунту Google Рекламы, проверьте уровень доступа облачного проекта Google Cloud на обзорной странице Google Ads API и повысьте уровень доступа проекта до Explorer, базового или стандартного доступа.
Советы по предотвращению –
CUSTOMER_NOT_ENABLED
СводкаАккаунт клиента недоступен, поскольку он неактивен.
Основные причины Это происходит, если регистрация аккаунта клиента не была завершена или он был деактивирован.
Как обрабатывать Войдите в интерфейс Google Рекламы и убедитесь, что вы завершили процесс регистрации для этого аккаунта. Если аккаунт деактивирован, прочитайте статью Как повторно активировать отмененный аккаунт Google Рекламы.
Советы по предотвращению Вы можете заранее проверить, деактивирован ли аккаунт клиента, посмотрев, есть ли у него статус CANCELLED.
USER_PERMISSION_DENIED
СводкаУ авторизованного клиента нет доступа к управляющему клиенту.
Основные причины Выполняется аутентификация пользователя с доступом к управляющему аккаунту, но в запросе не указан заголовок login-customer-id.
Как обрабатывать –
Советы по предотвращению Укажите login-customer-id в качестве идентификатора управляющего аккаунта без дефисов (-). Клиентские библиотеки поддерживают эту функцию.

BiddingError

BID_TOO_MANY_FRACTIONAL_DIGITS
СводкаСтавка не кратна минимальной денежной единице аккаунта. Например, ставка 0,015 долл.США (15000 в микроединицах) недействительна.
Основные причины –
Как обрабатывать –
Советы по предотвращению Убедитесь, что ставки кратны минимальной единице валюты аккаунта.
BID_TOO_BIG
СводкаОшибка возвращается, даже если ставка находится в пределах бюджета кампании.
Основные причины –
Как обрабатывать –
Советы по предотвращению Проверьте, участвует ли аккаунт в программе Google Ad Grants. Если да, ограничьте цену за клик максимальным значением, предусмотренным программой.

CampaignBudgetError

MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC
СводкаБюджет слишком мал.
Основные причины –
Как обрабатывать –
Советы по предотвращению Убедитесь, что сумма бюджета больше или равна минимальной единице валюты аккаунта.
NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT
СводкаПри конвертации суммы бюджета из микросуммы в валюту аккаунта получается слишком много значащих десятичных знаков.
Основные причины –
Как обрабатывать –
Советы по предотвращению Убедитесь, что сумма бюджета делится на минимальную единицу валюты аккаунта.

CampaignError

DUPLICATE_CAMPAIGN_NAME
СводкаПри добавлении или переименовании кампании используется название, уже назначенное другой кампании.
Основные причины Произведена попытка создать новую кампанию с названием уже существующей (активной или приостановленной).
Как обрабатывать Зарегистрируйте ошибку и покажите пользователю сообщение об ошибке. При необходимости предложите уникальное название кампании или покажите список используемых названий.
Советы по предотвращению –
CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE
СводкаПопытка изменить тип соответствия ключевых слов на уровне кампании, в которой включена функция AI Max.
Основные причины При включении AI Max настройки широкого соответствия на уровне кампании перестают поддерживаться, поскольку все ключевые слова по умолчанию обрабатываются как слова с широким соответствием. Попытка задать или изменить это поле приведет к ошибке.
Как обрабатывать Посоветуйте пользователю использовать параметр disable_search_term_matching на уровне группы объявлений вместо настройки широкого соответствия на уровне кампании.
Советы по предотвращению Если для `ai_max_setting.enable_ai_max` задано значение `true`, не устанавливайте для `keyword_match_type` значение `BROAD` (или любое другое) на уровне кампании. Включить или отключить сопоставление поисковых запросов на уровне группы объявлений можно с помощью `disable_search_term_matching`.

CriterionError

KEYWORD_HAS_INVALID_CHARS
СводкаДобавление или изменение ключевых слов, содержащих недопустимые символы.
Основные причины Используйте в ключевых словах специальные символы, например ! @ % *.
Как обрабатывать –
Советы по предотвращению Убедитесь, что вы не используете недопустимые символы в ключевых словах. Подробнее о том, как добавлять ключевые слова…

DemandGenCampaignError

CANNOT_ACTIVATE_MIGRATED_CAMPAIGN
СводкаПеренесенную кампанию для создания спроса нельзя активировать, пока не удалена исходная кампания или пока активна другая перенесенная кампания, созданная на основе той же исходной.
Основные причины Изменение статуса status перенесенной кампании для создания спроса на ENABLED, если исходная кампания не удалена или другая кампания для создания спроса, перенесенная из той же исходной кампании, уже имеет статус ENABLED. В API версии 25 и более ранних это условие возвращает RequestError.UNKNOWN.
Как обрабатывать Прежде чем активировать перенесенную кампанию для создания спроса, удалите исходную кампанию с помощью CampaignOperation.remove (заранее или в том же запросе mutate) и убедитесь, что нет других активных кампаний для создания спроса, перенесенных из той же исходной кампании. Подробнее о том, как активировать перенесенные кампании…
Советы по предотвращению Если вы отслеживаете идентификаторы исходных кампаний и перенесенных кампаний для создания спроса, запросите campaign.status, прежде чем задавать для status значение ENABLED в перенесенной кампании, или включите CampaignOperation.remove для исходной кампании в тот же запрос mutate.

DistinctError

DUPLICATE_ELEMENT
СводкаЗапрос содержит два идентичных и избыточных параметра.
Основные причины –
Как обрабатывать –
Советы по предотвращению Удалите дубликаты (операции, параметры, элементы списка) перед отправкой запроса. Найдите поля с ограничением DistinctElements.

InternalError

DEADLINE_EXCEEDED
СводкаВремя ожидания запроса истекло, и он не был выполнен достаточно быстро, чтобы вернуть ответ.
Основные причины Поисковый запрос сгенерировал слишком большой ответ, или запрос mutate слишком велик для обработки.
Как обрабатывать Подождите 30 сек., после чего повторно отправьте запрос. Если ошибка не исчезнет, попробуйте разбить запрос на несколько более мелких, которые можно выполнить быстрее.
Советы по предотвращению Ознакомьтесь с разделом Сегментация, чтобы узнать, как она может повлиять на размер ответа. Помните об ограничениях транспортного уровня gRPC.
INTERNAL_ERROR
СводкаПри обработке запроса произошла неизвестная ошибка.
Основные причины API не работает должным образом из-за ошибки.
Как обрабатывать Повторите запросы, которые не удалось выполнить из-за этой ошибки, используя экспоненциальную выдержку.
Советы по предотвращению –
TRANSIENT_ERROR
СводкаПроизошла временная внутренняя ошибка. Повторите попытку.
Основные причины Эта ошибка возникает, когда в API возникает временная проблема.
Как обрабатывать Повторите запросы, которые не удалось выполнить из-за этой ошибки, используя экспоненциальную выдержку.
Советы по предотвращению –

InvalidGrantError

invalid_grant (malformed auth code)
СводкаКод авторизации, обменянный на токены OAuth, был неправильно сформирован.
Основные причины Это происходит при попытке создать токен обновления для пользователя, которому уже предоставлен доступ к запрашивающему приложению. Например, это может произойти, если вы несколько раз запустите пример создания учетных данных пользователя для одних и тех же учетных данных клиента OAuth и авторизуете пользователя.
Как обрабатывать Чтобы повторно сгенерировать токен обновления для определенной комбинации авторизующего пользователя и учетных данных клиента OAuth, отзовите существующий токен обновления. Обратите внимание, что после отзыва токена его нельзя будет использовать для доступа к Google Ads API. Также будут аннулированы все токены доступа, созданные с помощью этого токена обновления.
Советы по предотвращению Храните токен обновления в безопасном месте, чтобы не пришлось создавать его заново.

MutateError

RESOURCE_NOT_FOUND
СводкаЗапрос относится к ресурсу, который не удалось найти.
Основные причины В запросе была попытка изменить или иным образом сослаться на ресурс, который не существует или был удален. или указанное название ресурса имеет неверный формат.
Как обрабатывать Прежде чем отправлять запрос mutate, используйте поисковый запрос, чтобы получить название существующего ресурса. Ознакомьтесь с руководствами по клиентским библиотекам, в которых рассказывается, как создавать допустимые названия ресурсов на всех поддерживаемых языках.
Советы по предотвращению Не создавайте названия ресурсов вручную. Используйте один из вспомогательных методов, предлагаемых нашими клиентскими библиотеками.

NotEmptyError

EMPTY_LIST
СводкаТребуемый список пуст.
Основные причины В метод mutate передан пустой список операций.
Как обрабатывать –
Советы по предотвращению –

QuotaError

RESOURCE_EXHAUSTED
СводкаПревышена максимальная допустимая частота запросов.
Основные причины –
Как обрабатывать –
Советы по предотвращению Установите небольшие задержки между запросами или объедините больше операций в меньшее количество запросов.

RangeError

TOO_LOW
СводкаЗначение ниже минимального допустимого.
Основные причины Если вы не укажете идентификатор, будет передано значение 0.
Как обрабатывать –
Советы по предотвращению Просмотрите ограничения диапазонов, приведенные в документации по API.

RequestError

INVALID_INPUT
СводкаЗапрос сформирован неправильно.
Основные причины URL или контент запроса имеет неверный формат.
Как обрабатывать –
Советы по предотвращению –
REQUIRED_FIELD_MISSING
СводкаВ запросе отсутствует обязательная информация.
Основные причины При попытке добавить объект не заполнены обязательные поля.
Как обрабатывать Зарегистрируйте ошибку и покажите пользователю сообщение об ошибке. Атрибут fieldPath ошибки указывает, какое поле отсутствует.
Советы по предотвращению Чтобы узнать, какие поля являются обязательными, ознакомьтесь с документацией по API.

ResourceCountLimitExceededError

RESOURCE_LIMIT
СводкаЗапрос пытается создать ресурс, который приведет к превышению указанного лимита на общее количество таких ресурсов.
Основные причины Существует несколько ограничений на количество ресурсов, которые могут существовать в определенных контекстах.
Как обрабатывать Определите, какое ограничение было превышено, изучив системные ограничения. Используйте существующий ресурс или удалите ресурсы, чтобы освободить место для новых.
Советы по предотвращению Используйте поисковые запросы, чтобы отслеживать количество ресурсов с ограничениями.

StringLengthError

TOO_LONG
СводкаСтрока, назначенная указанному полю, превышает ограничение.
Основные причины Заголовки или описания объявлений содержат слишком много текста.
Как обрабатывать Определите , какое ограничение было нарушено, измените строку и повторите запрос.
Советы по предотвращению Помните об ограничениях на длину строк.