Hello Georgi,
I have to say it is a library bug. I've logged it and will look into it soon: http://code.google.com/p/google-api-ads-ruby/issues/detail?id=93 -Danial, AdWords API Team. On Thursday, January 17, 2013 1:30:58 PM UTC+4, teamma...@gmail.com wrote: > > Hi Danial, > > Just tried replacing the method with OAuth2_jwt and we are doing good > progress, because i think the authentication passed successfully. > > I have the following error now: > <soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><ResponseHeader > > xmlns="https://adwords.google.com/api/adwords/cm/v201209"><requestId>0004d3788a92a0600ae5630d0000276f</requestId><serviceName>CampaignService</serviceName><methodName>get</methodName><operations>0</operations><responseTime>27</responseTime><units>0</units></ResponseHeader></soap:Header><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>[AuthenticationError.NOT_ADS_USER > > @ ; trigger:'<null>']</faultstring><detail><ApiExceptionFault xmlns=" > https://adwords.google.com/api/adwords/cm/v201209"><message>[AuthenticationError.NOT_ADS_USER > > @ ; > trigger:'<null>']</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:type="AuthenticationError"><fieldPath></fieldPath><trigger><null></trigger><errorString>AuthenticationError.NOT_ADS_USER</errorString><ApiError.Type>AuthenticationError</ApiError.Type><reason>NOT_ADS_USER</reason></errors></ApiExceptionFault></detail></soap:Fault></soap:Body></soap:Envelope> > > Is there any chance to get this error because of the domain administration > rights - how can check and verify them (is this the google analytics domain > owner verification)? > > Thank you in advance, > > All the best, > Georgi > > On Thursday, January 17, 2013 11:18:11 AM UTC+2, Danial Klimkin wrote: >> >> Hello Georgi, >> >> >> From the stack trace I can see OAUTH2 method is used. You should use >> OAUTH2_JWT instead. Please check this line in the configuration: >> >> :authentication => { >> :method: OAUTH2_JWT >> ... >> >> >> Not related to the issue below, but require for the next step. Please >> make sure you are signed up for a domain and have domain administration >> rights. This is a pre-requisite for using JWT authorization. >> >> >> -Danial, AdWords API Team. >> >> >> On Wednesday, January 16, 2013 4:15:54 PM UTC+4, teamma...@gmail.comwrote: >>> >>> Hi Danial, >>> >>> Thanks for the quick reply, we've replaced the adwords initialization >>> with the one you've suggested and we are having a progress, but still there >>> is another error: >>> >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/auth/oauth2_handler.rb:116:in >>> >>> `validate_credentials': Client id is not included in the credentials. >>> (AdsCommon::Errors::AuthError) >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/auth/oauth2_handler.rb:148:in >>> >>> `create_token' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/auth/base_handler.rb:50:in >>> >>> `get_token' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/auth/oauth2_handler.rb:82:in >>> >>> `get_token' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/auth/oauth2_handler.rb:75:in >>> >>> `auth_string' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/savon_headers/oauth_header_handler.rb:45:in >>> >>> `generate_headers' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/savon_headers/base_header_handler.rb:75:in >>> >>> `prepare_request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/savon_service.rb:103:in >>> >>> `block in execute_soap_request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/client.rb:129:in >>> `yield_objects' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/client.rb:122:in >>> `process' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/client.rb:84:in >>> `block in request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/soap/request_builder.rb:56:in >>> >>> `call' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/soap/request_builder.rb:56:in >>> >>> `request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/savon-1.2.0/lib/savon/client.rb:86:in >>> `request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/savon_service.rb:101:in >>> >>> `execute_soap_request' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/savon_service.rb:81:in >>> >>> `execute_action' >>> from >>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-adwords-api-0.8.0/lib/adwords_api/v201209/campaign_service.rb:21:in >>> >>> `get' >>> >>> The application now requires client id. We've tried to add >>> :oauth2_client_id and the :oauth2_client_secret (didn't work either), but >>> i'm not sure if this is the right direction. >>> >>> Let me know if you need further information, >>> >>> All the best, >>> Georgi >>> >>> On Tuesday, January 15, 2013 2:04:53 PM UTC+2, Danial Klimkin wrote: >>>> >>>> Hello Georgi, >>>> >>>> >>>> If you initialize the library with a hash, you need to make sure to >>>> provide all required credentials. Make sure to include all required fields >>>> like this: >>>> >>>> adwords = AdwordsApi::Api.new({ >>>> :service => { >>>> :environment => :PRODUCTION >>>> }, >>>> :library => { >>>> :log_level => "DEBUG" >>>> }, >>>> :authentication => { >>>> :method: OAUTH2_JWT >>>> :oauth2_issuer: '12345...@developer.gserviceaccount.com' >>>> :oauth2_secret: 'key_secret' >>>> :oauth2_keyfile: '/path/to/key.p12' >>>> :developer_token: '<dev_token>', >>>> :client_customer_id: '123-456-7890' >>>> } >>>> }) >>>> >>>> >>>> -Danial, AdWords API Team. >>>> >>>> On Monday, January 14, 2013 4:05:36 PM UTC+4, teamma...@gmail.comwrote: >>>>> >>>>> Hello everyone, >>>>> >>>>> We’ve recently started to use adwords api and now we are trying to >>>>> automate few tasks. We’re using OAuth2 authentication and ruby. >>>>> >>>>> We’ve followed the example here >>>>> https://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201209/misc/use_oauth2_jwt.rb<https://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201209/misc/use_oauth2.rb>to >>>>> authenticate, the only difference is how we initialize the adwords api: >>>>> >>>>> adwords = AdwordsApi::Api.new({ >>>>> >>>>> :library => { >>>>> >>>>> :log_level => "DEBUG" >>>>> >>>>> }}) >>>>> >>>>> # option 1 and option 2 not modified from the example >>>>> >>>>> campaign_srv = adwords.service(:CampaignService, API_VERSION) >>>>> >>>>> >>>>> We’ve downloaded the private key file and the path is set correctly >>>>> and we’ve tried both options. This is the error we get: >>>>> >>>>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/credential_handler.rb:65:in >>>>> >>>>> `set_credential': undefined method `[]=' for nil:NilClass (NoMethodError) >>>>> >>>>> from >>>>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/api.rb:103:in >>>>> >>>>> `block in authorize' >>>>> >>>>> from >>>>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/api.rb:102:in >>>>> >>>>> `each_pair' >>>>> >>>>> from >>>>> /path/.rvm/gems/ruby-1.9.3-p327/gems/google-ads-common-0.9.0/lib/ads_common/api.rb:102:in >>>>> >>>>> `authorize' >>>>> >>>>> >>>>> Let me know if you need further information, i would like to find out >>>>> the possible reason for that error or if there is any error in our >>>>> configuration or code? >>>>> >>>>> >>>>> >>>>> Thank you in advance for your time, >>>>> >>>>> Georgi >>>>> >>>> -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en