Re: Not reply after 13 days

2013-05-24 Thread Jordan Gutierez
Id: 425-406-6453 Costumer ID

Client account ID 425-406-6453

-- 
Jordan Gutierrez
Chief Seals Officer
Wishpond 

jor...@wishpond.com

Follow Wishpond on:
Twitter 
Facebook 
Google+ 
LinkedIn 


On Fri, May 24, 2013 at 7:58 AM, Anash P. Oommen (AdWords API Team) <
adwordsapiadvisor+an...@google.com> wrote:

> Hi Jordan,
>
> What's the customer id? I can't find it on this thread?
>
> Cheers,
> Anash
>
>
> On Saturday, May 18, 2013 2:49:03 AM UTC+5:30, Jordan Gutierrez wrote:
>
>> Hi there,
>>
>> Any news?
>>
>>
>>
>> On Tue, May 14, 2013 at 5:52 PM, Anash P. Oommen (AdWords API Team) <
>> adwordsapia...@**google.com> wrote:
>>
>>> Hi,
>>>
>>> Could you provide your test account's customer id? I could check for
>>> status and update you.
>>>
>>> Cheers,
>>> Anash P. Oommen
>>> AdWords API Advisor.
>>>
>>> On Tuesday, May 14, 2013 10:49:04 AM UTC-7, jor...@wishpond.com wrote:

 Hi,

 I apply for a Test account and still haven't hear back from you, can
 you tell me if there is an issue?

>>>  --
>>> --
>>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~**=~=~=~=~=~=~=~=~=~
>>> 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 adwor...@googlegroups.com
>>>
>>> To unsubscribe from this group, send email to
>>> adwords-api...@**googlegroups.com
>>>
>>> For more options, visit this group at
>>> http://groups.google.com/**group/adwords-api?hl=en
>>>
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "AdWords API Forum" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/**
>>> topic/adwords-api/TCTEAppEMx8/**unsubscribe?hl=en
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> adwords-api...@**googlegroups.com.
>>>
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out
>>> .
>>>
>>>
>>>
>>
>>
>>
>> --
>> --
>> Jordan Gutierrez
>> Chief Support Officer
>> Wishpond 
>>
>> jor...@wishpond.com
>>
>> Twitter 
>> LinkedIn 
>> Join us for a one-on-one demo tailored to your 
>> business.
>>
>>   --
> --
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> 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
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "AdWords API Forum" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/adwords-api/TCTEAppEMx8/unsubscribe?hl=en
> .
> To unsubscribe from this group and all its topics, send an email to
> adwords-api+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [RateExceededError ]

2013-05-24 Thread axi
+1 for the request!

El viernes, 24 de mayo de 2013 17:47:30 UTC+2, David Apps escribió:
>
> I've also experienced this issue with the TrafficEstimatorService and 
> would recommend taking a look into that as well...
>
> Date Operations Description RequestId ResponseTime
> 2013-05-15 16:24:36.263 2000 TrafficEstimatorService - 2000 keywords 
> 0004dcc861bed9700ada1e0a064cfe69 73
> 2013-05-15 16:24:35.680 1 TrafficEstimatorService - 2000 keywords 
> 0004dcc861a051080ada1cd7192ec647 717
> 2013-05-15 16:24:33.687 2000 TrafficEstimatorService - 2000 keywords 
> 0004dcc8619715c00ada528528734d08 76
> 2013-05-15 16:24:33.123 1 TrafficEstimatorService - 2000 keywords 
> 0004dcc8617cb3d80ada1cd7192ec647 469
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: AdWords API google-api-ads-ruby invalid grant

2013-05-24 Thread Christopher Sell
I changed the file adwords_api.yml file  to be space separated and I am 
still getting invalid grant.

:authentication:
  :method: OAuth2
  :oauth2_client_id: MYCLIENTID
  :oauth2_client_secret: MYCLIENTSECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 'http://127.0.0.1:3000/users/auth/google_oauth2/callback
'

  :developer_token: MYDEVTOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO

Omniauth works fine. I am able to get the access token, refresh token, and 
verification code for the user. 
I get the user to approve all the necessary scopes as well. Screenshot 
attached.

The problem starts when I call a method trying to access the AdWords API 
and authorize. That is when I get the invalid grant error.

Here is the method I am using to call the AdWords API and the 
adwords_api.yml file setup.

def update_adwords
self.google_refresh_access_token unless self.google_access_token_live? 
#refresh access token if over an 1 hour old.
google_authentication = self.authentications.find(:first, :conditions 
=> { :provider => 'google_oauth2'})
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201302
*token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code}) #this is where error is happening*
campaign_srv = adwords.service(:CampaignService, api_version)
end

:authentication:
  :method: OAuth2
  :oauth2_client_id: MYCLIENTID
  :oauth2_client_secret: MYCLIENTSECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 'http://127.0.0.1:3000/users/auth/google_oauth2/callback
'

  :developer_token: MYDEVTOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO


On Friday, May 24, 2013 7:35:43 AM UTC-7, Anash P. Oommen (AdWords API 
Team) wrote:
>
> HI Christopher,
>
> Could you see if making scope space separated instead of comma separated 
> solves your issue?
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor
>
> On Thursday, May 23, 2013 1:50:12 PM UTC+5:30, Christopher Sell wrote:
>>
>> Hi all, sorry to repost, but I am experiencing a new error using oauth2 
>> with google-api-ads-ruby gem and I wanted to update my question.
>>
>> I am using omniauth for oauth2 authentication with Google.
>>   config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
>> ENV['GOOGLE_CONSUMER_SECRET'],
>>   {
>> :scope => 
>> "userinfo.email,userinfo.profile,analytics.readonly,
>> http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
>> :approval_prompt => "force",
>> :access_type => "offline"
>>   }
>>
>> *Great: I am able to authenticate the user, get their access_token, 
>> refresh_token, and verification_code and store them in my database.*
>>
>> *Bad: Now I am actually trying to make calls to the AdWords API on their 
>> behalf and experiencing the following error:*
>> AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
>> failed.  Server message:
>> {
>>   "error" : "invalid_grant"
>> }
>>
>> I know I need to authorize with adwords using the verification code and 
>> this is where I am getting the error.
>> Here is the method I am using to call the AdWords API. My code is failing 
>> on adwords.authorize()
>> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
>> adwords = AdwordsApi::Api.new(config_filename)
>> api_version = :v201302
>> token = adwords.authorize({:oauth2_verification_code => 
>> google_authentication.verification_code})
>> campaign_srv = adwords.service(:CampaignService, api_version)
>>
>> Here is my adwords_api.yml file:
>> ---
>> :authentication:
>>   # Authentication method, for web applications OAuth is recommended.
>>   :method: OAuth2
>>
>>   # Auth parameters for OAuth2.0 method.
>>   :oauth2_client_id: MY CLIENT_ID
>>   :oauth2_client_secret: MY CLIENT SECRET
>>   :oauth2_access_type: 'offline'
>>   :oauth2_approval_prompt: 'force'
>>   # Callback is set up by the application at runtime.
>>   :oauth2_callback: '
>> http://127.0.0.1:3000/users/auth/google_oauth2/callback'
>>
>>   # Other parameters.
>>   :developer_token: MY_DEVELOPER_TOKEN
>>   :user_agent: MARKETSTARTER
>> :service:
>>   :environment: PRODUCTION
>> :connection:
>>   # Enable to request all responses to be compressed.
>>   :enable_gzip: false
>> :library:
>>   :log_level: INFO
>>
>>
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=

Re: AdWords API oauth2.0 redirect mismatch uri

2013-05-24 Thread Christopher Sell
Just did, and that works. Thanks so much Anash!

On Friday, May 24, 2013 7:39:13 AM UTC-7, Anash P. Oommen (AdWords API 
Team) wrote:
>
> Hi Christopher,
>
> Have you provided oauth2_callback key in your adwords.yml? And does that 
> match the one you provided in the API console?
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Thursday, May 23, 2013 1:29:10 PM UTC+5:30, Christopher Sell wrote:
>>
>> I am using the google-api-ads-ruby and oauth 2.0 to have users 
>> authenticate and then make calls on their behalf to pull reports about 
>> their AdWords account.
>>
>> I have Oauth 2.0 fully set up for Google Analytics and it works.
>> Next I added Google AdWords to the scope.
>> I redirect the user to get approval.
>> When they return I take the verification code in the parameter on the 
>> callback and store it in my database.
>> That all works great.
>>
>> But, here is where I am falling flat:
>> When I try to create a call on the user's behalf I get:
>> AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
>> failed.  Server message:
>> {
>>   "error" : "redirect_uri_mismatch"
>> }
>>
>>
>> Here is my code for the method I am using to call the API:
>> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
>> adwords = AdwordsApi::Api.new(config_filename)
>> api_version = :v201306
>> token = adwords.authorize({:oauth2_verification_code => 
>> google_authentication.verification_code})
>> campaign_srv = adwords.service(:CampaignService, api_version)
>>
>> It is failing on the adwords.authorize line. 
>> My local redirect uri in the api console is: 
>> http://127.0.0.1:3000/users/auth/google_oauth2/callback
>> This redirect uri works for authorizing the user using omniauth the first 
>> go around, but not when I am using the google-api-ads-ruby gem to make 
>> calls to the API.
>>
>> Any ideas on how I can go about fixing this?
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: oauth2 invalid grant with ruby-api gem

2013-05-24 Thread Christopher Sell
I changed the file adwords_api.yml file  to be space separated and I am 
still getting invalid grant.

:authentication:
  :method: OAuth2
  :oauth2_client_id: MYCLIENTID
  :oauth2_client_secret: MYCLIENTSECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 'http://127.0.0.1:3000/users/auth/google_oauth2/callback
'

  :developer_token: MYDEVTOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO

Omniauth works fine. I am able to get the access token, refresh token, and 
verification code for the user. 
I get the user to approve all the necessary scopes as well. Screenshot 
attached.

The problem starts when I call a method trying to access the AdWords API 
and authorize. That is when I get the invalid grant error.

Here is the method I am using to call the AdWords API and the 
adwords_api.yml file setup.

def update_adwords
self.google_refresh_access_token unless self.google_access_token_live? 
#refresh access token if over an 1 hour old.
google_authentication = self.authentications.find(:first, :conditions 
=> { :provider => 'google_oauth2'})
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201302
*token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code}) #this is where error is happening*
campaign_srv = adwords.service(:CampaignService, api_version)
end

:authentication:
  :method: OAuth2
  :oauth2_client_id: MYCLIENTID
  :oauth2_client_secret: MYCLIENTSECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 'http://127.0.0.1:3000/users/auth/google_oauth2/callback
'

  :developer_token: MYDEVTOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO



Any additional help would be greatly appreciated. I've been stuck for 2 
days now.

On Friday, May 24, 2013 7:24:55 AM UTC-7, Anash P. Oommen (AdWords API 
Team) wrote:
>
> HI Christopher,
>
> You might want to check omniauth documentation. At for OAuth2, scope is 
> separated by spaces, not comma.
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Thursday, May 23, 2013 11:26:29 PM UTC+5:30, Christopher Sell wrote:
>>
>> Hi, I am using omniauth to authenticate my users with Google. When the 
>> user comes back I store their access_token, refresh_token, and their 
>> verification code off of the callback parameter.
>>   config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
>> ENV['GOOGLE_CONSUMER_SECRET'],
>>   {
>> :scope => 
>> "userinfo.email,userinfo.profile,analytics.readonly,
>> http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
>> :approval_prompt => "force",
>> :access_type => "offline"
>>   }
>>
>> When I then try to make a call to the API using the google-api-ads-ruby 
>> gem I run into trouble.
>> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
>> adwords = AdwordsApi::Api.new(config_filename)
>> api_version = :v201302
>> token = adwords.authorize({:oauth2_verification_code => 
>> google_authentication.verification_code})
>> campaign_srv = adwords.service(:CampaignService, api_version)
>>
>> I get an invalid grant error on the adwords.authorize line. 
>> Here is my adwords_api.yml file with the id,secret, and dev token 
>> replaced.
>>
>> :authentication:
>>   # Authentication method, for web applications OAuth is recommended.
>>   :method: OAuth2
>>
>>   #   https://code.google.com/apis/console#access
>>   :oauth2_client_id: MY_CLIENT_ID
>>   :oauth2_client_secret: MY_CLIENT_SECRET
>>   :oauth2_access_type: 'offline'
>>   :oauth2_approval_prompt: 'force'
>>   :scope: 'userinfo.email,userinfo.profile,analytics.readonly,
>> http://gdata.youtube.com,https://adwords.google.com/api/adwords/'
>>   :oauth2_callback: '
>> http://127.0.0.1:3000/users/auth/google_oauth2/callback'
>>
>>   # Other parameters.
>>   :developer_token: MY_DEVELOPER_TOKEN
>>   :user_agent: MARKETSTARTER
>> :service:
>>   :environment: PRODUCTION
>> :connection:
>>   :enable_gzip: false
>> :library:
>>   :log_level: INFO
>>
>>
>>
>>
>> Does anyone know why this would cause an invalid grant error? I think I 
>> have everything set up properly.
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Re: oauth2 invalid grant with ruby-api gem

2013-05-24 Thread Christopher Sell
I changed the file adwords_api.yml file  to be space separated and I am 
still getting invalid grant.

:authentication:
  :method: OAuth2
  :oauth2_client_id: '657744510902.apps.googleusercontent.com'
  :oauth2_client_secret: '_aYopQoI-TNg2vWfXYiXADm5'
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 
'http://127.0.0.1:3000/users/auth/google_oauth2/callback'

  :developer_token: 'wpKZlLZDJOkLaDWrmYo8dQ'
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO

Omniauth works fine. I am able to get the access token, refresh token, and 
verification code for the user. 
I get the user to approve all the necessary scopes as well. Screenshot 
attached.

The problem starts when I call a method trying to access the AdWords API 
and authorize. That is when I get the invalid grant error.

Here is the method I am using to call the AdWords API and the 
adwords_api.yml file setup.

def update_adwords
self.google_refresh_access_token unless self.google_access_token_live? 
#refresh access token if over an 1 hour old.
google_authentication = self.authentications.find(:first, :conditions 
=> { :provider => 'google_oauth2'})
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201302
*token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code}) #this is where error is happening*
campaign_srv = adwords.service(:CampaignService, api_version)
end

:authentication:
  :method: OAuth2
  :oauth2_client_id: '657744510902.apps.googleusercontent.com'
  :oauth2_client_secret: '_aYopQoI-TNg2vWfXYiXADm5'
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :oauth2_scope: "userinfo.email userinfo.profile analytics.readonly 
http://gdata.youtube.com https://adwords.google.com/api/adwords/";
  :oauth2_callback: 
'http://127.0.0.1:3000/users/auth/google_oauth2/callback'

  :developer_token: 'wpKZlLZDJOkLaDWrmYo8dQ'
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO



Any additional help would be greatly appreciated. I've been stuck for 2 
days now.

On Friday, May 24, 2013 7:24:55 AM UTC-7, Anash P. Oommen (AdWords API 
Team) wrote:
>
> HI Christopher,
>
> You might want to check omniauth documentation. At for OAuth2, scope is 
> separated by spaces, not comma.
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Thursday, May 23, 2013 11:26:29 PM UTC+5:30, Christopher Sell wrote:
>>
>> Hi, I am using omniauth to authenticate my users with Google. When the 
>> user comes back I store their access_token, refresh_token, and their 
>> verification code off of the callback parameter.
>>   config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
>> ENV['GOOGLE_CONSUMER_SECRET'],
>>   {
>> :scope => 
>> "userinfo.email,userinfo.profile,analytics.readonly,
>> http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
>> :approval_prompt => "force",
>> :access_type => "offline"
>>   }
>>
>> When I then try to make a call to the API using the google-api-ads-ruby 
>> gem I run into trouble.
>> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
>> adwords = AdwordsApi::Api.new(config_filename)
>> api_version = :v201302
>> token = adwords.authorize({:oauth2_verification_code => 
>> google_authentication.verification_code})
>> campaign_srv = adwords.service(:CampaignService, api_version)
>>
>> I get an invalid grant error on the adwords.authorize line. 
>> Here is my adwords_api.yml file with the id,secret, and dev token 
>> replaced.
>>
>> :authentication:
>>   # Authentication method, for web applications OAuth is recommended.
>>   :method: OAuth2
>>
>>   #   https://code.google.com/apis/console#access
>>   :oauth2_client_id: MY_CLIENT_ID
>>   :oauth2_client_secret: MY_CLIENT_SECRET
>>   :oauth2_access_type: 'offline'
>>   :scope: 'userinfo.email,userinfo.profile,analytics.readonly,
>> http://gdata.youtube.com,https://adwords.google.com/api/adwords/'
>>   :oauth2_callback: '
>> http://127.0.0.1:3000/users/auth/google_oauth2/callback'
>>
>>   # Other parameters.
>>   :developer_token: MY_DEVELOPER_TOKEN
>>   :user_agent: MARKETSTARTER
>> :service:
>>   :environment: PRODUCTION
>> :connection:
>>   :enable_gzip: false
>> :library:
>>   :log_level: INFO
>>
>>
>>
>>
>> Does anyone know why this would cause an invalid grant error? I think I 
>> have everything set up properly.
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://gr

Why is there a difference in Campaign Performance Reports between API and browser reports?

2013-05-24 Thread webdev
To whom it may concern,

I have noticed that when running reports via API versus running them in 
Adwords site from the email I receive, there a multiple differences.  Some 
campaigns in the API produced reports are missing.  Some rows have 
different values for impressions, costs, clicks, and conversions.  Why is 
this occurring?  Is there anyway to prevent this?  Thank you for your time 
and assistance.

Best regards,

David Paul
 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: [RateExceededError ]

2013-05-24 Thread David Apps
I've also experienced this issue with the TrafficEstimatorService and would 
recommend taking a look into that as well...

Date Operations Description RequestId ResponseTime
2013-05-15 16:24:36.263 2000 TrafficEstimatorService - 2000 keywords 
0004dcc861bed9700ada1e0a064cfe69 73
2013-05-15 16:24:35.680 1 TrafficEstimatorService - 2000 keywords 
0004dcc861a051080ada1cd7192ec647 717
2013-05-15 16:24:33.687 2000 TrafficEstimatorService - 2000 keywords 
0004dcc8619715c00ada528528734d08 76
2013-05-15 16:24:33.123 1 TrafficEstimatorService - 2000 keywords 
0004dcc8617cb3d80ada1cd7192ec647 469

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Developer Account Operation Count Inconsistencies

2013-05-24 Thread David Apps
Hi Anash, thanks for the response, it's much appreciated.  Will do.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: AdGroupBids to v201302

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Robert,

You could look for BiddingStrategyConfiguration.biddingStrategyType to 
identify the bid type. See 
https://developers.google.com/adwords/api/docs/reference/v201302/AdGroupService.BiddingStrategyConfiguration#biddingStrategyType
 for 
details.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Friday, May 10, 2013 9:40:27 PM UTC+5:30, Robert M wrote:
>
> AdGroupBids no longer exists in version 201302.
> What would be the best way to port over the following code to v201302?
>
>
> // download ad groups for this campaigns
> List adGroups = getAllAdGroups(campaign.getId());
> for (AdGroup adGroup : adGroups) {
> String adGroupId = Long.toString(adGroup.getId());
> AdGroupBids adGroupBids = adGroup.getBids();
> if (adGroupBids.getAdGroupBidsType().equalsIgnoreCase(
> "ManualCPCAdGroupBids")) {
> ManualCPCAdGroupBids manualCPCAdGroupBids = (ManualCPCAdGroupBids) 
> adGroupBids;
> accountConfig
> .addAdGroup(campaignId, adGroupId, adGroup
> .getName(), searchOn,
> convertBidToCents(manualCPCAdGroupBids
> .getKeywordMaxCpc(), -1),
> contentOn,
> convertBidToCents(manualCPCAdGroupBids
> .getKeywordContentMaxCpc(), -1));
> } else if (adGroupBids.getAdGroupBidsType()
> .equalsIgnoreCase("ManualCPMAdGroupBids")) {
> ManualCPMAdGroupBids manualCPMAdGroupBids = (ManualCPMAdGroupBids) 
> adGroupBids;
> accountConfig.addAdGroup(campaignId, adGroupId, adGroup
> .getName(), searchOn, convertBidToCents(
> manualCPMAdGroupBids.getMaxCpm(), -1),
> contentOn, convertBidToCents(
> manualCPMAdGroupBids.getMaxCpm(), -1));
> } else if (adGroupBids.getAdGroupBidsType()
> .equalsIgnoreCase("BudgetOptimizerAdGroupBids")) {
> BudgetOptimizerAdGroupBids budgetOptimizerAdGroupBids = 
> (BudgetOptimizerAdGroupBids) adGroupBids;
>
> accountConfig.addAdGroup(campaignId, adGroupId, adGroup
> .getName(), searchOn, convertBidToCents(
> budgetOptimizerAdGroupBids
> .getProxyKeywordMaxCpc(), -1),
> contentOn, convertBidToCents(
> budgetOptimizerAdGroupBids
> .getProxyKeywordMaxCpc(), -1));
> } else {
> continue;
> }
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Campaign performance report beta feature feild not returned with V201209

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Niladri,

See Kevin's reply above. Our team cannot invite users for beta access, that 
should be done by your Google account manager.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Tuesday, May 14, 2013 9:43:58 AM UTC+5:30, Niladri Sirkar wrote:
>
> Kevin,
>
> How can I get on to the beta program? I am building an application for my 
> client who already is running Adwords since 2012. My job is to pull the 
> data from server via API and lay it in a specific format to generate the 
> report.
>
> Now the problem is he has Phone cost data which I am not able to pull up. 
> I am using client login for the purpose, and no doubt I am using Adwords 
> credential provided by him only.
>
> In a situation like this, I have no idea how to proceed further. even if I 
> am on a beta program, I presume I have to use my credential in that case. 
> So does this mean my client has to be on it in order to gain access to all 
> (or some) of he beta features?
>
> Also to access beta features is a test account is compulsory?!
>
> Please suggest asap. I have got stuck fully and update to client is due 
> for last one week.
>
> Subrata
>
>
> On Fri, May 10, 2013 at 9:45 PM, Kevin Winter (AdWords API Team) <
> adwordsapia...@google.com > wrote:
>
>> Hi,
>>   The API does not support all the features of the UI, so matching 100% 
>> will always be a moving target as the UI adds more features that the API 
>> doesn't support.
>>
>> That said, it's not possible to obtain these metrics unless you are in 
>> the beta program.  You can work with your account manager to get access.
>>
>> - Kevin Winter
>> AdWords API Team
>>
>> On Friday, May 10, 2013 7:25:19 AM UTC-4, Subrata Sarkar wrote:
>>>
>>> Hi,
>>> I am able to fetch reports from API server fine, but my client says the 
>>> costs are a little off compared to MCC console data. This is because I 
>>> could not consider *OfflineInteractionCost* as such fields (marked as 
>>> beta) can only be accessed by a registered *beta tester*.
>>>
>>> When I added the above field in CAMPAIGN_PERFORMANCE_REPORT I got the 
>>> following error.
>>> <
>>> reportDownloadError>**BetaError.BETA_FEATURE>> type>**OfflineInteractionCostselector>> *fieldPath>
>>>
>>> I can understand the feature is yet to be opened to public and can be 
>>> accessible by Beta testers.
>>>
>>> But, in such a case what is the option to catch that value so that Cost 
>>> + OfflineInteractionCost matches that can be seen on MCC console? Right now 
>>> I am only getting the Cost field value while I need *Cost + 
>>> OfflineInteractionCost*.
>>>
>>> Is there any way that I can access the value? If I register as a Beta 
>>> tester will I be provided with a Token or alike so that I can put the same 
>>> in application's config file so that anybody using the application is 
>>> allowed to access the data I can?
>>>
>>> On Monday, 4 March 2013 21:55:19 UTC+5:30, Kevin Winter (AdWords API 
>>> Team) wrote:

 Hi Chirag,
   Please contact your 
 CSR or Account Manager.

 - Kevin Winter
 AdWords API Team

 On Thursday, February 28, 2013 1:02:31 AM UTC-5, Chirag wrote:
>
> Hello John,
>
> Thanks for reply.
>
> Where i can register as beta tester?
>
> Thanks,
> chirag
>
> On Wednesday, February 27, 2013 7:23:22 PM UTC+5:30, John Lister wrote:
>>
>> You need to be registered as a beta tester in order to access any 
>> beta fields, etc
>>
>> John
>>
>  -- 
>> -- 
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>> 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 adwor...@googlegroups.com
>> To unsubscribe from this group, send email to
>> adwords-api...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/adwords-api?hl=en
>>  
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "AdWords API Forum" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/adwords-api/gP5PjJ1A91k/unsubscribe?hl=en
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> adwords-api...@googlegroups.com .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>
>
> -- 
>
>
> Thanks and Regards,
>
> Niladri Sarkar
> Skype: NiladriSirkar72
> US: +1 (202) 556-3514 , +1 (202) 506-9125
> India (Fixed) : +91 33 2663 6462 | India (Mobile) : +91 94327 50266, +91 
> 94326 45822 
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=

Re: Developer Account Operation Count Inconsistencies

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi David,

Yes, this is a known issue, could you please 
track https://groups.google.com/d/msg/adwords-api/GBv-C7mxdBg/yTC4itfJekkJ 
for updates?

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 16, 2013 3:23:22 AM UTC+5:30, David Apps wrote:
>
> Hi, I'm using the code below to interact with the TargetingIdeaService 
> from a developer account (client id 975-797-8136) and it's somehow 
> returning different operation counts for similar consecutive calls.  I'm 
> absolutely certain I'm only performing one get request on the service for 
> each call, so I'm wondering if the inflated operation counts being returned 
> in some cases can be disregarded and chalked up to sandbox issues on your 
> end, and not reflective of the actual API usage on mine?  Below is the call 
> log output as well since I'm assuming the RequestIds might be of some use 
> to you on your end...
>
> Date Operations Description RequestId ResponseTime
> 2013-05-15 16:05:10.917 1 TargetingIdeaService - 4 seed keywords, 100 
> ideas requested 0004DCC81C482A400ADA015217C76017 173
> 2013-05-15 16:04:07.707 1 TargetingIdeaService - 4 seed keywords, 50 
> ideas requested 0004DCC8188440880ADA20D40654B8EC 155
> 2013-05-15 16:03:42.473 50 TargetingIdeaService - 4 seed keywords, 50 
> ideas requested 0004DCC81703E9E80ADA20D40654B8EC 110
> 2013-05-15 16:03:34.640 50 TargetingIdeaService - 1 seed keywords, 50 
> ideas requested 0004DCC8168C64400ADA528528734D08 105
> 2013-05-15 16:03:27.263 100 TargetingIdeaService - 1 seed keywords, 100 
> ideas requested 0004DCC8161868D80ADA1E0A064CFE69 307
> 2013-05-15 16:03:13.453 50 TargetingIdeaService - 1 seed keywords, 50 
> ideas requested 0004DCC8154882300ADA20D40654B8EC 99
>
>
> /// 
> /// Generates a list of keyword ideas from the specified list of seed 
> keywords.
> /// 
> /// The AdWords user account
> /// The number of ideas to return
> /// The seed keywords to base the ideas off 
> of
> /// Returns the list of keyword ideas
> public static List GenerateKeywordIdeas(AdWordsUser user, 
> int count, List keywords)
> {
> var keywordIdeas = new List();
> count = Math.Min(count, MaxKeywordIdeaPageSize);
>
> var selector = new TargetingIdeaSelector
> {
> requestType = RequestType.IDEAS,
> ideaType = IdeaType.KEYWORD,
> paging = new Paging { startIndex = 0, numberResults = 
> Math.Min(count, MaxKeywordIdeaPageSize) },
> requestedAttributeTypes = new[]
> {
> AttributeType.KEYWORD_TEXT,
> AttributeType.SEARCH_VOLUME,
> AttributeType.COMPETITION,
> AttributeType.AVERAGE_CPC
> },
> searchParameters = new SearchParameter[]
> {
> new RelatedToQuerySearchParameter {queries = 
> keywords.Take(MaxSeedKeywordsPerIdeasRequest).ToArray() },
> new LanguageSearchParameter {languages = new[] 
> {new Language {id = 1000}}}
> }
> };
>
> TargetingIdeaService service = null;
>
> try
> {
> service = (TargetingIdeaService) 
> user.GetService(AdWordsService.v201302.TargetingIdeaService);
> var page = service.get(selector);
> if (page.entries != null && page.entries.Length > 0)
> {
> foreach (var entry in page.entries)
> {
> keywordIdeas.Add(new KeywordIdea(entry.data));
> }
> }
> }
> catch (Exception ex)
> {
> Logger.Warn("Keyword idea retrieval failure.", ex);
> }
>
> if (service != null && service.ResponseHeader != null)
> {
> UpdateApiCallLog(string.Format("TargetingIdeaService - {0} 
> seed keywords, {1} ideas requested",
> keywords.Count, count), 
> (int)service.ResponseHeader.operations,
> service.ResponseHeader.requestId, 
> (int)service.ResponseHeader.responseTime);
> }
>
> return keywordIdeas;
> }
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 

Re: Unexplained Authorization Error

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Noah,

client_customer_id is the customer id of the account for which you are 
making calls. E.g. if you are retrieving campaigns, the OAuth2 token could 
belong to either the Advertiser account or a parent MCC, the 
client_customer_id should be that of the Advertiser account.

Cheers,
Anash

On Friday, May 17, 2013 6:27:50 AM UTC+5:30, Noah wrote:
>
> Anash,
>
> I used an MCC account (of which the customer is not a member) for 
> generating the OAuth2 tokens.
>
> The "client_customer_id" is the ID of MY MCC account.  Is that incorrect?
>
> In general, we want to develop a service where we can access the accounts 
> of many clients programmatically.  I've seen other adwords optimization 
> services to this, so there must be an easy way.  (They generally just have 
> a link to "allow API access" that the customer clicks.)  
>
> Thanks!
>
> On May 16, 2013, at 3:37 PM, Anash P. Oommen (AdWords API Team) <
> adwordsapia...@google.com > wrote:
>
> Hi Noah,
>
> You need to look at your clientCustomerId, and the login for which you 
> generated your OAuth2 tokens. Does the login that the OAuth2 belongs to 
> have access to this customerId? (i.e. it is a login to this customerId, or 
> an MCC that has access to this customerId)
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Thursday, May 16, 2013 12:44:54 PM UTC-7, Noah wrote:
>>
>> Hello,
>>
>> My developer key was approved.
>> I had a client give me access via OAuth2.  Have the access and refresh 
>> tokens.
>> Trying a very simple connection to list campaigns.
>> Getting an error:  
>> adspygoogle.adwords.AdWordsErrors.AdWordsAuthenticationError: 
>> [AuthorizationError.USER_PERMISSION_DENIED @ ; trigger:'']
>>
>> Can't figure out why I'm getting that error, or how to fix it.
>>
>> Below is the code I'm using.  (All data, keys, etc. are fake)
>>
>> Any suggestions on how to troubleshoot/solve this??
>>
>> Thanks!
>>
>> =
>>
>> email = 'f...@bar.com'
>>> client_customer_id = '123-456-789'
>>> oauth2_client_id = '00.apps.googleusercontent.com'
>>> oauth2_client_secret = '000'
>>> developer_token = '000'
>>> access_token = '000'
>>> refresh_token = '000'
>>>
>>> # Build Credential object with our tokens
>>> credentials = OAuth2Credentials("irrelevant access token",
>>> oauth2_client_id, # Client ID
>>> oauth2_client_secret,
>>> refresh_token,
>>> datetime.datetime.now(), # token expiry
>>> "https://accounts.google.com/o/oauth2/token";,
>>> "test client")
>>>
>>> # Create the AdWordsUser and set the OAuth2 credentials.
>>> client = AdWordsClient(headers={
>>>   'developerToken': developer_token,
>>>   'clientCustomerId': client_customer_id,
>>>   'userAgent': 'OAuth2 Example',
>>>   'oauth2credentials': credentials
>>> })
>>>
>>>
>>> # OAuth2 credential objects can be refreshed via credentials.refresh() - 
>>> the
>>> # access token expires after 1 hour.
>>> credentials.refresh(httplib2.Http())
>>> print 'Credentials Refreshed!'
>>>
>>>
>>> # Get all campaigns.
>>> # Construct selector and get all campaigns.
>>>
>>> campaign_service = client.GetCampaignService(version='v201302')
>>>
>>> selector = {
>>>   'fields': ['Id', 'Name', 'Status']
>>> }
>>> campaigns = campaign_service.Get(selector)[0]
>>>
>>> # Display results.
>>> if 'entries' in campaigns:
>>> for campaign in campaigns['entries']:
>>>   print ('Campaign with id \'%s\', name \'%s\' and status \'%s\' was 
>>> found.'
>>>  % (campaign['id'], campaign['name'], campaign['status']))
>>> else:
>>> print 'No campaigns were found.'
>>>
>>
>>  
>>
>>
> -- 
> -- 
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> 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 adwor...@googlegroups.com
> To unsubscribe from this group, send email to
> adwords-api...@googlegroups.com 
> For more options, visit this group at
> http://groups.google.com/group/adwords-api?hl=en
>  
> --- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "AdWords API Forum" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/adwords-api/-tSoqtE6ll4/unsubscribe?hl=en
> .
> To unsubscribe from this group and all its topics, send an email to 
> adwords-api...@googlegroups.com .
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 a

Re: google adwords php soap response is null

2013-05-24 Thread Paul Matthews (AdWords API Team)
Hi Modestats,

Can you turn on logging and post the SOAP request / response here so we can 
investigate further. Please see the README 
filefor 
further information on this.

Please remember to remove any personally identifiable information, such as 
developer tokens, passwords etc.

Regards,

- Paul, AdWords API Team.

On Thursday, 23 May 2013 06:53:49 UTC+1, Modestas Stankevičius wrote:
>
> Still can't find the problem. searched almost everywhere.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Not reply after 13 days

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Jordan,

What's the customer id? I can't find it on this thread?

Cheers,
Anash

On Saturday, May 18, 2013 2:49:03 AM UTC+5:30, Jordan Gutierrez wrote:
>
> Hi there,
>
> Any news?
>
>
>
> On Tue, May 14, 2013 at 5:52 PM, Anash P. Oommen (AdWords API Team) <
> adwordsapia...@google.com > wrote:
>
>> Hi,
>>
>> Could you provide your test account's customer id? I could check for 
>> status and update you.
>>
>> Cheers,
>> Anash P. Oommen
>> AdWords API Advisor.
>>
>> On Tuesday, May 14, 2013 10:49:04 AM UTC-7, jor...@wishpond.com wrote:
>>>
>>> Hi,
>>>
>>> I apply for a Test account and still haven't hear back from you, can you 
>>> tell me if there is an issue?
>>>
>>  -- 
>> -- 
>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>> 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 adwor...@googlegroups.com
>> To unsubscribe from this group, send email to
>> adwords-api...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/adwords-api?hl=en
>>  
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "AdWords API Forum" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/adwords-api/TCTEAppEMx8/unsubscribe?hl=en
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> adwords-api...@googlegroups.com .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>
>
> -- 
> -- 
> Jordan Gutierrez
> Chief Support Officer
> Wishpond 
>
> jor...@wishpond.com 
> Twitter 
> LinkedIn 
> Join us for a one-on-one demo tailored to your 
> business. 
>
>  

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Incorrect Criterion.Type returned by AdGroupBidModifierService

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
HI Radosław,

The service is returning only Criterion object (i.e. the base class), not a 
more specific class (Platform in this case), so I think the behaviour is 
correct. You should rely on the id (30001) rather than the Type field to 
resolve the type in this case.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Monday, May 20, 2013 3:43:54 PM UTC+5:30, Radosław Pociecha wrote:
>
> Hi,
>
> When fetching entities using AdGroupBidModifierService we observed that 
> Criterion.Type field for criterion is set to 'Criterion' instead of 
> 'Platform', also type field is not returned when CriteriaType is passed in 
> fields selector.
>
> Request body:
>   
> https://adwords.google.com/api/adwords/cm/v201302";>
>   
> CampaignId
> AdGroupId
> BidModifier
> Id
> BidModifierSource
> CriteriaType
> 
>   AdGroupId
>   IN
>   __ADGROUP_ID__
> 
> 
>   BidModifierSource
>   IN
>   AD_GROUP
> 
>   
> 
>   
>
> Response body:
>   
> https://adwords.google.com/api/adwords/cm/v201302
> ">
>   
> 1
> AdGroupBidModifierPage
> 
>   __CAMPAIGN_ID__
>   __ADGROUP_ID__
>   
> 30001
> Criterion
>   
>   0.9
>   AD_GROUP
> 
>   
> 
>   
>
> Is this correct behavoiur ?
>
> Radosław Pociecha
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: test account

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi,

This cannot be done using test accounts.

Cheers,
Anash P. Oommen,
Adwords API Advisor.

On Tuesday, May 21, 2013 8:20:42 PM UTC+5:30, aufges...@gmail.com wrote:
>
> Hi,
> is it possible with the test account to read data from other accounts in 
> the mmc?
> if so, how?
> i would like to read out the performance (costs,conversion, etc.) from all 
> my accounts.
>
> would be great if someone could help me
> thx
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Does deletion of AdGroup also pause the ads automatically?

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Shruti,

No, if an AdGroup is marked as deleted, its ads won't serve.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Wednesday, May 22, 2013 9:07:39 PM UTC+5:30, Shruti wrote:
>
> Hi,
>
> Do ads need to be explicitly deleted/paused when its AdGroup is deleted?
>
> Thanks
> /S
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: AdWords API oauth2.0 redirect mismatch uri

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Christopher,

Have you provided oauth2_callback key in your adwords.yml? And does that 
match the one you provided in the API console?

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 23, 2013 1:29:10 PM UTC+5:30, Christopher Sell wrote:
>
> I am using the google-api-ads-ruby and oauth 2.0 to have users 
> authenticate and then make calls on their behalf to pull reports about 
> their AdWords account.
>
> I have Oauth 2.0 fully set up for Google Analytics and it works.
> Next I added Google AdWords to the scope.
> I redirect the user to get approval.
> When they return I take the verification code in the parameter on the 
> callback and store it in my database.
> That all works great.
>
> But, here is where I am falling flat:
> When I try to create a call on the user's behalf I get:
> AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
> failed.  Server message:
> {
>   "error" : "redirect_uri_mismatch"
> }
>
>
> Here is my code for the method I am using to call the API:
> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
> adwords = AdwordsApi::Api.new(config_filename)
> api_version = :v201306
> token = adwords.authorize({:oauth2_verification_code => 
> google_authentication.verification_code})
> campaign_srv = adwords.service(:CampaignService, api_version)
>
> It is failing on the adwords.authorize line. 
> My local redirect uri in the api console is: 
> http://127.0.0.1:3000/users/auth/google_oauth2/callback
> This redirect uri works for authorizing the user using omniauth the first 
> go around, but not when I am using the google-api-ads-ruby gem to make 
> calls to the API.
>
> Any ideas on how I can go about fixing this?
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: AdWords API google-api-ads-ruby invalid grant

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
HI Christopher,

Could you see if making scope space separated instead of comma separated 
solves your issue?

Cheers,
Anash P. Oommen,
AdWords API Advisor

On Thursday, May 23, 2013 1:50:12 PM UTC+5:30, Christopher Sell wrote:
>
> Hi all, sorry to repost, but I am experiencing a new error using oauth2 
> with google-api-ads-ruby gem and I wanted to update my question.
>
> I am using omniauth for oauth2 authentication with Google.
>   config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
> ENV['GOOGLE_CONSUMER_SECRET'],
>   {
> :scope => 
> "userinfo.email,userinfo.profile,analytics.readonly,
> http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
> :approval_prompt => "force",
> :access_type => "offline"
>   }
>
> *Great: I am able to authenticate the user, get their access_token, 
> refresh_token, and verification_code and store them in my database.*
>
> *Bad: Now I am actually trying to make calls to the AdWords API on their 
> behalf and experiencing the following error:*
> AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
> failed.  Server message:
> {
>   "error" : "invalid_grant"
> }
>
> I know I need to authorize with adwords using the verification code and 
> this is where I am getting the error.
> Here is the method I am using to call the AdWords API. My code is failing 
> on adwords.authorize()
> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
> adwords = AdwordsApi::Api.new(config_filename)
> api_version = :v201302
> token = adwords.authorize({:oauth2_verification_code => 
> google_authentication.verification_code})
> campaign_srv = adwords.service(:CampaignService, api_version)
>
> Here is my adwords_api.yml file:
> ---
> :authentication:
>   # Authentication method, for web applications OAuth is recommended.
>   :method: OAuth2
>
>   # Auth parameters for OAuth2.0 method.
>   :oauth2_client_id: MY CLIENT_ID
>   :oauth2_client_secret: MY CLIENT SECRET
>   :oauth2_access_type: 'offline'
>   :oauth2_approval_prompt: 'force'
>   # Callback is set up by the application at runtime.
>   :oauth2_callback: '
> http://127.0.0.1:3000/users/auth/google_oauth2/callback'
>
>   # Other parameters.
>   :developer_token: MY_DEVELOPER_TOKEN
>   :user_agent: MARKETSTARTER
> :service:
>   :environment: PRODUCTION
> :connection:
>   # Enable to request all responses to be compressed.
>   :enable_gzip: false
> :library:
>   :log_level: INFO
>
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: AdGroupAdService operation limit.

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Shurti,

To clarify further, this is a result of how the product behaves. 

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 23, 2013 5:33:51 PM UTC+5:30, Jeremy Aube wrote:
>
> yes
>
> On Wednesday, May 22, 2013 2:47:28 PM UTC-4, Shruti wrote:
>>
>> Does this still hold true?
>>
>> On Wednesday, February 17, 2010 6:51:51 PM UTC-5, AdWords API Advisor 
>> wrote:
>>>
>>> Hi,
>>>
>>> It isn't possible to update the URLs of an ad, either in the AdWords
>>> API or in the web interface.  To change the destination URL you must
>>> create a new ad with the new URL and then delete the old ad.
>>>
>>> Best,
>>> - Eric Koleda, AdWords API Team
>>>
>>> On Feb 17, 12:33 am, ADM  wrote:
>>> > Is there a limit on the number of operations that can be done with the
>>> > AdGroupAdService? I trying to change all the landing page URL for all
>>> > the ads in all the adGroups in a given campaign (happens to about
>>> > 350-400 changes). I post the changes, apparently successfully, but
>>> > when I go to check the change history of that campaign I find that no
>>> > changes to any ads were ever made. Is this because there is a severe
>>> > lag in reporting this many changes, or because there is a limit on the
>>> > number of operations that can be done synchronously?
>>>
>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Submitting an AdGroupBidModifierOperation using the MutateJobService

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Christian,

I'll add this as a feature request for the team.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 23, 2013 6:19:12 PM UTC+5:30, Christian wrote:
>
> Hello,
>
> it appears that it is currently not possible to submit bid modifier 
> operations using the MutateJobService but only synchronously using 
> the AdGroupBidModifierService.
>
> Since we do most of our operations using the mutate job service 
> (benefiting from asynchronous processes and better result and error 
> handling), we would prefer to also submit bid modifiers as part of mutate 
> jobs.
>
> Is this possible in the near future, maybe with the next API version (we 
> use v201302)?
>
> Thanks and best regards,
>
> Christian
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Download Report Timing

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
Hi Noah,

AdWords API reports are not real-time, they are usually delayed by upto 3 
hours. However, you can request HourOfDay as a column in most reports, that 
should tell you what hour the stats are for.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 23, 2013 10:43:23 PM UTC+5:30, Noah wrote:
>
> Hello,
>
> I want to consistently download a report of ad performance (impressions, 
> clicks, position, cpc, etc.) through the API (Using Python.)
>
> I have this code written, and it seems work fine.   However, I don't 
> understand the timing of this report.  If I run the code, then re-run it a 
> few minutes later, the counts for things increase (more impressions, 
> clicks, etc.)  But I'm not clear as to how the timing works.
>
> Is this data "real-time"?  Is there a delay?  What is the minimum waiting 
> time between reports to ensure accuracy?
>
> More generally, are the reported values time correct.  For example, if I 
> run the report at 9:00 and then again at 10:00, can I assume that the 
> reported values are for that exact hour?  (i.e., how many impressions and 
> clicks we received from 9:00 to 10:00)
>
> Thanks!
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: oauth2 invalid grant with ruby-api gem

2013-05-24 Thread Anash P. Oommen (AdWords API Team)
HI Christopher,

You might want to check omniauth documentation. At for OAuth2, scope is 
separated by spaces, not comma.

Cheers,
Anash P. Oommen,
AdWords API Advisor.

On Thursday, May 23, 2013 11:26:29 PM UTC+5:30, Christopher Sell wrote:
>
> Hi, I am using omniauth to authenticate my users with Google. When the 
> user comes back I store their access_token, refresh_token, and their 
> verification code off of the callback parameter.
>   config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
> ENV['GOOGLE_CONSUMER_SECRET'],
>   {
> :scope => 
> "userinfo.email,userinfo.profile,analytics.readonly,
> http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
> :approval_prompt => "force",
> :access_type => "offline"
>   }
>
> When I then try to make a call to the API using the google-api-ads-ruby 
> gem I run into trouble.
> config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
> adwords = AdwordsApi::Api.new(config_filename)
> api_version = :v201302
> token = adwords.authorize({:oauth2_verification_code => 
> google_authentication.verification_code})
> campaign_srv = adwords.service(:CampaignService, api_version)
>
> I get an invalid grant error on the adwords.authorize line. 
> Here is my adwords_api.yml file with the id,secret, and dev token replaced.
>
> :authentication:
>   # Authentication method, for web applications OAuth is recommended.
>   :method: OAuth2
>
>   #   https://code.google.com/apis/console#access
>   :oauth2_client_id: MY_CLIENT_ID
>   :oauth2_client_secret: MY_CLIENT_SECRET
>   :oauth2_access_type: 'offline'
>   :oauth2_approval_prompt: 'force'
>   :scope: 'userinfo.email,userinfo.profile,analytics.readonly,
> http://gdata.youtube.com,https://adwords.google.com/api/adwords/'
>   :oauth2_callback: '
> http://127.0.0.1:3000/users/auth/google_oauth2/callback'
>
>   # Other parameters.
>   :developer_token: MY_DEVELOPER_TOKEN
>   :user_agent: MARKETSTARTER
> :service:
>   :environment: PRODUCTION
> :connection:
>   :enable_gzip: false
> :library:
>   :log_level: INFO
>
>
>
>
> Does anyone know why this would cause an invalid grant error? I think I 
> have everything set up properly.
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Optimal way to get the top spending keywords on mobile

2013-05-24 Thread Manas
The AdHoc reports don't seem to support ordering and paging, and the 
CampaignService / AdCriteriaService don't seem to support segmentation by 
Network or Device. I'm trying to find the top spending keywords on mobile 
at the account level (and the spend, of course). The only apparent way to 
do this is to get the AdHoc report for all keywords in the account, and 
sort and extract the top X values. Sort of an overkill when looking for 50 
values, and downloading over 50,000. Is there a better way I am missing?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




AdWords API oauth2.0 redirect mismatch uri

2013-05-24 Thread Christopher Sell
I am using the google-api-ads-ruby and oauth 2.0 to have users authenticate 
and then make calls on their behalf to pull reports about their AdWords 
account.

I have Oauth 2.0 fully set up for Google Analytics and it works.
Next I added Google AdWords to the scope.
I redirect the user to get approval.
When they return I take the verification code in the parameter on the 
callback and store it in my database.
That all works great.

But, here is where I am falling flat:
When I try to create a call on the user's behalf I get:
AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
failed.  Server message:
{
  "error" : "redirect_uri_mismatch"
}


Here is my code for the method I am using to call the API:
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201306
token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code})
campaign_srv = adwords.service(:CampaignService, api_version)

It is failing on the adwords.authorize line. 
My local redirect uri in the api console is: 
http://127.0.0.1:3000/users/auth/google_oauth2/callback
This redirect uri works for authorizing the user using omniauth the first 
go around, but not when I am using the google-api-ads-ruby gem to make 
calls to the API.

Any ideas on how I can go about fixing this?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




AdWords API google-api-ads-ruby invalid grant

2013-05-24 Thread Christopher Sell
Hi all, sorry to repost, but I am experiencing a new error using oauth2 
with google-api-ads-ruby gem and I wanted to update my question.

I am using omniauth for oauth2 authentication with Google.
  config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
ENV['GOOGLE_CONSUMER_SECRET'],
  {
:scope => 
"userinfo.email,userinfo.profile,analytics.readonly,http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
:approval_prompt => "force",
:access_type => "offline"
  }

*Great: I am able to authenticate the user, get their access_token, 
refresh_token, and verification_code and store them in my database.*

*Bad: Now I am actually trying to make calls to the AdWords API on their 
behalf and experiencing the following error:*
AdsCommon::Errors::AuthError: Authorization error occured: Authorization 
failed.  Server message:
{
  "error" : "invalid_grant"
}

I know I need to authorize with adwords using the verification code and 
this is where I am getting the error.
Here is the method I am using to call the AdWords API. My code is failing 
on adwords.authorize()
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201302
token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code})
campaign_srv = adwords.service(:CampaignService, api_version)

Here is my adwords_api.yml file:
---
:authentication:
  # Authentication method, for web applications OAuth is recommended.
  :method: OAuth2

  # Auth parameters for OAuth2.0 method.
  :oauth2_client_id: MY CLIENT_ID
  :oauth2_client_secret: MY CLIENT SECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  # Callback is set up by the application at runtime.
  :oauth2_callback: 
'http://127.0.0.1:3000/users/auth/google_oauth2/callback'

  # Other parameters.
  :developer_token: MY_DEVELOPER_TOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  # Enable to request all responses to be compressed.
  :enable_gzip: false
:library:
  :log_level: INFO



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Ad Hoc Keyword Performance Report

2013-05-24 Thread Manas
*Feature Request*: If the requirement of having the developer token in 
plain text could be removed, and instead a token signed using the developer 
token be allowed, it opens up the possibility to download reports directly 
to the client instead of me having to fetch it to my server and then relay 
it to the client. Of course cross origin issues will need to be tackled too.
 

On Thursday, May 23, 2013 8:02:55 PM UTC+5:30, Kevin Winter (AdWords API 
Team) wrote:
>
> To expand on this, yes if you want to target non-test accounts.  Test 
> accounts have 0's for all stats (and return no rows when segments are 
> selected).  Test 
> accountscan be 
> used with an unapproved token (but you must at least apply).
>
> - Kevin Winter
> AdWords API Team
>
> On Wednesday, May 22, 2013 2:32:21 PM UTC-4, Jeremy Aube wrote:
>>
>> yes
>>
>> On Wednesday, May 22, 2013 3:33:35 AM UTC-4, silv...@techwyseintl.comwrote:
>>>
>>> Could someone please clarify, whether developer token is mandatory for 
>>> generating* Ad Hoc* Keyword Performance *Report*  using Adwords API.
>>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Change a campaign from shared budget to individual budget through the API

2013-05-24 Thread Sergio Berná Niñerola
Is it possible to change a campaign from a shared budget to an individual 
budget through Adwords API?

Im not interested in creating a new Shared Budget and applying it to a 
single campaign, since that creates a shared budget object but just for 
that campaign, and that shared budget cannot be modified in bulk.

The only way I have been able to do so is by using the Web Application, in 
which you can set again the individual budget. But through the API any 
attempt made is answered with a BudgetError.CANNOT_EDIT_SHARED_BUDGET, 
while the thing im trying is not to edit the shared budget but to set an 
individual budget just for that campaign.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




oauth2 invalid grant with ruby-api gem

2013-05-24 Thread Christopher Sell
Hi, I am using omniauth to authenticate my users with Google. When the user 
comes back I store their access_token, refresh_token, and their 
verification code off of the callback parameter.
  config.omniauth :google_oauth2, ENV['GOOGLE_CONSUMER_KEY'], 
ENV['GOOGLE_CONSUMER_SECRET'],
  {
:scope => 
"userinfo.email,userinfo.profile,analytics.readonly,http://gdata.youtube.com,https://adwords.google.com/api/adwords/";,
:approval_prompt => "force",
:access_type => "offline"
  }

When I then try to make a call to the API using the google-api-ads-ruby gem 
I run into trouble.
config_filename = File.join(Rails.root, 'config', 'adwords_api.yml')
adwords = AdwordsApi::Api.new(config_filename)
api_version = :v201302
token = adwords.authorize({:oauth2_verification_code => 
google_authentication.verification_code})
campaign_srv = adwords.service(:CampaignService, api_version)

I get an invalid grant error on the adwords.authorize line. 
Here is my adwords_api.yml file with the id,secret, and dev token replaced.

:authentication:
  # Authentication method, for web applications OAuth is recommended.
  :method: OAuth2

  #   https://code.google.com/apis/console#access
  :oauth2_client_id: MY_CLIENT_ID
  :oauth2_client_secret: MY_CLIENT_SECRET
  :oauth2_access_type: 'offline'
  :oauth2_approval_prompt: 'force'
  :scope: 
'userinfo.email,userinfo.profile,analytics.readonly,http://gdata.youtube.com,https://adwords.google.com/api/adwords/'
  :oauth2_callback: 
'http://127.0.0.1:3000/users/auth/google_oauth2/callback'

  # Other parameters.
  :developer_token: MY_DEVELOPER_TOKEN
  :user_agent: MARKETSTARTER
:service:
  :environment: PRODUCTION
:connection:
  :enable_gzip: false
:library:
  :log_level: INFO




Does anyone know why this would cause an invalid grant error? I think I 
have everything set up properly.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Submitting an AdGroupBidModifierOperation using the MutateJobService

2013-05-24 Thread Christian
Hello,

it appears that it is currently not possible to submit bid modifier 
operations using the MutateJobService but only synchronously using 
the AdGroupBidModifierService.

Since we do most of our operations using the mutate job service (benefiting 
from asynchronous processes and better result and error handling), we would 
prefer to also submit bid modifiers as part of mutate jobs.

Is this possible in the near future, maybe with the next API version (we 
use v201302)?

Thanks and best regards,

Christian

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.