Ruby Google Adwords Api Ошибка проверки OAuth - PullRequest
1 голос
/ 21 марта 2012

Я продолжаю сталкиваться с этой ужасной ошибкой проверки OAuth, кажется, что она не хочет выдавать мне маркер аутентификации ...?

Вот мой app.rb:

require 'adwords_api'
require 'adwords_api/utils'

adwords = AdwordsApi::Api.new
campaign_srv = adwords.service(:CampaignService, :v201109)
campaign_srv.get

Вот мой adwords_api.yml:

:authentication:
 :method: OAuth
 :oauth_consumer_key: anonymous
 :oauth_consumer_secret: anonymous
 :developer_token: email@gmail.com++USD
 :user_agent: Ruby Testing
:service:
  :environment: SANDBOX
:connection:
  :enable_gzip: false
  :library:
  :log_level: INFO

Каждый раз, когда я запускаю приложение, я получаю эту ошибку:

/Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/auth/oauth_handler.rb:271:in `raise_oauth_verification_error': AdsCommon::Errors::OAuthVerificationRequired (AdsCommon::Errors::OAuthVerificationRequired)
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/auth/oauth_handler.rb:237:in `generate_access_token'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/auth/oauth_handler.rb:181:in `create_token'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/auth/base_handler.rb:62:in `get_token'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/auth/oauth_handler.rb:92:in `headers'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_headers/oauth_header_handler.rb:59:in `generate_headers'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_headers/oauth_header_handler.rb:42:in `prepare_request'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:106:in `block in set_headers'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:105:in `each'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:105:in `set_headers'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:98:in `block in execute_soap_request'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/savon-0.9.9/lib/savon/client.rb:153:in `yield_objects'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/savon-0.9.9/lib/savon/client.rb:147:in `process'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/savon-0.9.9/lib/savon/client.rb:76:in `request'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:97:in `execute_soap_request'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-ads-common-0.6.3/lib/ads_common/savon_service.rb:80:in `execute_action'
from /Users/Qubit/.rvm/gems/ruby-1.9.2-p290/gems/google-adwords-api-0.5.2/lib/adwords_api/v201109/campaign_service.rb:19:in `get'
from app.rb:12:in `<main>'

Что происходит? Разве этого недостаточно для песочницы adwords api ??

Спасибо.

1 Ответ

1 голос
/ 23 марта 2012

Я до сих пор не уверен, что проблема с OAuth, но я узнал, как использовать ClientLogin в песочнице, и это работало просто отлично. Все, что нужно было настроить мой adwords_api.yml на

:authentication:
 :method: ClientLogin
 :password: PASSWORD_GOES_HERE
 :email: EMAIL_GOES_HERE
 :developer_token: email@gmail.com++USD
 :user_agent: Ruby Testing
:service:
  :environment: SANDBOX
:connection:
  :enable_gzip: false
  :library:
  :log_level: INFO
...