0

Я использую ruby-on-rails для работы с google-adwords-api. До сегодняшнего дня мое приложение успешно работало, получая необходимую информацию с помощью API. Сегодня он перестал работать и в консоли я вижу следующее предупреждение: метод аутентификацииМетод аутентификации Adwords - ClientLogin теперь устарел и будет удален в будущем

ClientLogin теперь осуждается и будет удален в будущем. Рассмотрим переход на OAuth2. См. 'https://developers.google.com/accounts/docs/AuthForInstalledApps' для подробнее.

И тогда следующее исключение обжигают:

Ошибка авторизации. Сообщение сервера: { "Ошибка": "invalid_grant"}

Вот камни, которые я использую для работы с API:

gem "google-adwords-api", "~> 0.9.3" 
gem 'google-api-client' 

adwords_api.yml является:

--- 
:authentication: 
    :method: OAUTH2 
    :oauth2_client_id: ***.apps.googleusercontent.com 
    :oauth2_client_secret: *** 
    :oauth2_callback: http://... 
    :developer_token: *** 
    :user_agent: *** 
    :oauth2_token: 
    :access_token: *** 
    :refresh_token: *** 
:service: 
    :environment: PRODUCTION 
:connection: 
    :enable_gzip: false 
:library: 
    :log_level: INFO 

Я проверил ссылку из предупреждающего сообщения, но не нашел, какие изменения я должен внести в свой код.

Из столбца вызова (а также из настроек в yml, приведенном выше) выглядит так: OATH2 уже используется здесь. Я обнаружил, что вызов https://accounts.google.com/o/oauth2/token делается и ответ со статусом = 400 имеет корпус { "error" : "invalid_grant" }

Замечание: Я не использую два шага проверки.

ответ

0

Ну, в этом случае проблема заключалась в том, что токен был created с использованием недавно зарегистрированной учетной записи google.

Надеюсь, что этот ответ сэкономит ваше время, если вы столкнулись с этой проблемой.

Смежные вопросы