Из документов Google здесь :
Все вызовы API AdWords должны быть авторизованы через OAuth2.OAuth2 позволяет клиентскому приложению AdWords API получать доступ к учетной записи Google Ads пользователя, не обрабатывая и не сохраняя информацию для входа в систему.
Похоже, вы должны использовать OAuth2
Аутентификация.
Дальнейшее чтение здесь подтверждает это:
Вашему приложению потребуется доступ к данным пользователя и связь с другими службами Google от вашего имени.Аутентификация через OAuth2 позволяет вашему приложению работать от имени вашей учетной записи.
Чтобы приложение могло получить доступ к API, вам необходим идентификатор клиента OAuth2 и секрет клиента.
Вы говорите, что сделали это где-то еще, где вы смогли использовать файл JSON, поэтому я немного посмотрел на источник.
Источник для Ruby API - здесь и здесь .Похоже, что на самом деле нет другого способа управления учетными данными, по крайней мере, в Ruby API.Смотрите здесь:
# Retrieve correct soap_header_handler.
#
# Args:
# - auth_handler: instance of an AdsCommon::Auth::BaseHandler subclass to
# handle authentication
# - version: intended API version
# - header_ns: header namespace
# - default_ns: default namespace
#
# Returns:
# - SOAP header handler
#
def soap_header_handler(auth_handler, version, header_ns, default_ns)
auth_method = @config.read('authentication.method', :OAUTH2)
handler_class = case auth_method
when :OAUTH2, :OAUTH2_SERVICE_ACCOUNT
AdsCommon::SavonHeaders::OAuthHeaderHandler
else
raise AdsCommon::Errors::AuthError,
"Unknown auth method: %s" % auth_method
end
return handler_class.new(@credential_handler, auth_handler, header_ns,
default_ns, version)
end
Обратите внимание, что, если OAuth не используется, он выдает ошибку.Там действительно нет другого способа аутентификации.Даже если вам удалось пройти проверку подлинности другим способом и попытаться передать его менеджеру учетных данных, он отклонит его.
Краткий ответ: Это невозможно в Ruby API, если его не взломать.