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:'&lt;null&gt;']</faultstring><detail><ApiExceptionFault xmlns="
> https://adwords.google.com/api/adwords/cm/v201209";><message>[AuthenticationError.NOT_ADS_USER
>  
> @ ; 
> trigger:'&lt;null&gt;']</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors
>  
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:type="AuthenticationError"><fieldPath></fieldPath><trigger>&lt;null&gt;</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



Reply via email to