Я использую 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" }
Замечание: Я не использую два шага проверки.