Re: Reporting error : ERROR_GETTING_RESPONSE_FROM_BACKEND Unable to read report data

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi David,

We haven't seen the related backend issue. 
If it still persists, please let us know.

Best,
- Takeshi, AdWords API Team

On Friday, July 19, 2013 5:31:02 PM UTC+9, david wrote:

 Last couple of nights we've been getting the above error when download a 
 large keyword performance report.
 If I rerun the report in the morning it tends to work OK.

 We have moved to v201306 3 days ago and have only seen this after the 
 move. 

 Any ideas whether there's any backend issues causing 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: Ad cost report with only impression keyword

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Vanessa,

You can include the Cost field in Keyword Performance 
Reporthttps://developers.google.com/adwords/api/docs/appendix/reports#keywords
. 
But an impression isn't charged (unless CPM for Display network. But I 
think it's not relevant to this question). 
So costs for a keyword only has impressions are basically 0. 

Best,
- Takeshi, AdWords API Team

On Friday, July 19, 2013 8:28:24 PM UTC+9, Rocio Delaney wrote:

 Hi everyone,

 I need to know how I can get  information about the cost of an 
 only-impression keyword for different ad-position (or even only one 
 specific ad-position).

 The only information available at the moment is first page Bid (Not always 
 I reckon). But this never lett us where ad_position can be treated as.

 Thanks

 Vanessa


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: OAUTH_TOKEN_INVALID ruby client

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Matthew,

Looks like the access_token (it expires in one hour) was issued at 
2013-07-19 14:56:06 -0400.
So at the time you made a request, the access token seemed to expire. 

If you make the oauth token request in offline mode, the response should 
contain refresh_token (that never expires). 
Using that you can get a new access toke if the existing access token is 
about to expire. 

I'm asking the ruby library maintainer on how to make a offline oauth token 
request in more detail. 

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 4:01:13 AM UTC+9, Matthew Ledom wrote:

 I keep receiving this error when I try to use a service. In this instance 
 I'm use the campaign service. I had everything working with ClientLogin and 
 found that Reports are only supported with OAUTH2 so I'm trying to get that 
 implemented.

 I have setup my app to retrieve a offline token via the browser redirect 
 work flow. I have also setup my adword model to request a new access token 
 using the provided refresh token from the previous step. I can take that 
 token and use it in the following code:

 api.authorize(:oauth2_token = token )

 where token:
 {access_token=ya29.AxxxXh6zvQ,
  token_type=Bearer,
  expires_in=3600,
  id_token=
   eyJhbxxxB3MO4}

 this returns:
 {:access_token=ya29.AHEJXh6zvQ,
  :refresh_token=nil,
  :issued_at=2013-07-19 14:56:06 -0400,
  :expires_in=3600,
  :id_token=
   eyJhbxxxLB3MO4}

 When I use this api object to call the campaign service I get the output 
 provided below. The reporting download is the final piece needed to 
 approval and I've searched all over this group and the web and can't find 
 anything that helps. I'm using the latest versions of the ruby gem: 
 google-ads-common (0.9.3) and google-adwords-api (0.9.3) 

 SOAP request: 
 https://adwords.google.com/api/adwords/cm/v201302/CampaignService
 Accept-Encoding: gzip,deflate, SOAPAction: get, User-Agent: bw_console 
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb), Authorization: Bearer ya29.AHxXh6zvQ, Content-Type: 
 text/xml;charset=UTF-8, Content-Length: 837
 ?xml version=1.0 encoding=UTF-8?env:Envelope xmlns:xsd=
 http://www.w3.org/2001/XMLSchema; xmlns:xsi=
 http://www.w3.org/2001/XMLSchema-instance; xmlns:wsdl=
 https://adwords.google.com/api/adwords/cm/v201302; xmlns:env=
 http://schemas.xmlsoap.org/soap/envelope/;env:Headerwsdl:RequestHeader 
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;userAgentconsole 
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb)/userAgentdeveloperTokenh6Axxxweg/developerToken/wsdl:RequestHeader/env:Headerenv:Bodyget
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302
 serviceSelectorfieldsId/fieldsfieldsName/fieldsfieldsStatus/fieldsorderingfieldName/fieldsortOrderASCENDING/sortOrder/ordering/serviceSelector/get/env:Body/env:Envelope
 HTTPI executes HTTP POST using the curb adapter
 SOAP response (status 500):
 soap:Envelope 
 xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;soap:HeaderResponseHeader
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;requestId0004e1e1b8b62a800aed881c1a3b/requestIdserviceNameCampaignService/serviceNamemethodNameget/methodNameoperations0/operationsresponseTime23/responseTimeunits0/units/ResponseHeader/soap:Headersoap:Bodysoap:Faultfaultcodesoap:Server/faultcodefaultstring[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; trigger:'lt;nullgt;']/faultstringdetailApiExceptionFault xmlns=
 https://adwords.google.com/api/adwords/cm/v201302;message[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; 
 trigger:'lt;nullgt;']/messageApplicationException.TypeApiException/ApplicationException.Typeerrors
  
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
 xsi:type=AuthenticationErrorfieldPath/fieldPathtriggerlt;nullgt;/triggererrorStringAuthenticationError.OAUTH_TOKEN_INVALID/errorStringApiError.TypeAuthenticationError/ApiError.TypereasonOAUTH_TOKEN_INVALID/reason/errors/ApiExceptionFault/detail/soap:Fault/soap:Body/soap:Envelope
 Content-Type: text/xml; charset=UTF-8, Date: Fri, 19 Jul 2013 18:44:49 
 GMT, Expires: Fri, 19 Jul 2013 18:44:49 GMT, Cache-Control: private, 
 max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, 
 X-XSS-Protection: 1; mode=block, Server: GSE, Transfer-Encoding: chunked
 AdwordsApi::V201302::CampaignService::ApiException: 
 [AuthenticationError.OAUTH_TOKEN_INVALID @ ; trigger:'null']

 Thank you to anyone that can help. I really need to get this integration 
 completed.


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

Re: Adding Destination URLs with ValueTrack parameters not working

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Chris, 

There are some validations for destination URL such as the URL should start 
with http or https. 
The text cosists of only inside the {} tags is not allowed. 

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 4:22:40 AM UTC+9, Chris wrote:

 Hi Guys,

 I'm testing out adding keywords and ads with ValueTrack parameters in the 
 destination url, and noticing there are some problems.

 A dest url such as http://{ifmobile:
 www.keywordtest.com/?myid=df32}{ifnotmobile:www.keywordtest.com/?myid=df33http://www.keywordtest.com/?myid=df32%7D%7Bifnotmobile:www.keywordtest.com/?myid=df33}
  
 will work, whilst the url {ifmobile:
 http://www.keywordtest.com/?myid=df32}{ifnotmobile:http://www.keywordtest.com/?myid=df33}
  
 will not work. The error returned says URL_MALFORMED, and the part of the 
 url that triggers the problem is shown as '' i.e. empty.

 It appears to me that providing a destination url which only consists of 
 text inside the {} results in an error.

 Could anyone confirm this?

 I would like to have the option of destination urls where the only text is 
 included inside the {}s

 Cheers,

 Chris


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Problems with starting of API

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Please provide the  account Customer ID for ClientCustomerId in the 
Web.config file. 
It means your request targets the clientCustomerId specified in that file. 

There is no setting named MCCID or Customer ID

Best,
- Takeshi, AdWords API Team

On Thursday, July 18, 2013 3:12:45 PM UTC+9, da...@woodenark.com wrote:

 Hi,
 I got the following mail from developer team. I downloaded the 
 applicationo of .NET, but there is no MCCID, no Customer ID. Is there a 
 possibility of getting a correct Web.config file?
 David


 Dear Developer,

 We have received your application for a test account for the Adwords API. 
  After review, we have now enabled the following AdWords Customer IDs for 
 testing with the API:

 Your developer MCCID:*
 Your new test account Customer ID: **

 If you have any questions regarding the usage of your Adwords API test 
 accounts, please visit our developers help page at:
 https://developers.google.com/adwords/api/docs/test-accounts

 Regards,
 The Adwords API Team


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 api-not working-Quotacheckerror[incomplete_signup]

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Please try it again after you receive an approved email for a test account. 

Best,
- Takeshi, AdWords API Team

On Thursday, July 18, 2013 8:23:11 PM UTC+9, tomfl...@gmail.com wrote:

 Hi,
  
 I have followed the instructions and registered for a test account from my 
 existing MCC account, I have filled out the billing T  C's correctly, I am 
 seeing the following error:
  
 Quotacheckerror[Incomplete_signup]
  
 Now, I have ticked all the T  C's etc, so think it relate to the test 
 account access, I have yet to receive an approval email still-please advise 
 on any guidance.
  
 Many Thanks,
  
 Tom.


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Icomplete signup error despite accepting terms and conditions

2013-07-22 Thread jaison . directi
Hi Danial,

I created a new account and entered the billing details at the MCC level. I 
then applied for a test account. I am now able to run the scripts 
successfully.

Thanks for all the help.

Jaison

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Sandbox, OAuth 2.0

2013-07-22 Thread Danial Klimkin
Hello Matthew,


Yes, test accounts are the same account as production ones, except they 
don't serve. So OAuth2 can be used with them.


-Danial, AdWords API Team.


On Saturday, July 20, 2013 12:51:31 AM UTC+4, Matthew Ledom wrote:

 Can test accounts be used with OAuth2?

 On Wednesday, June 5, 2013 4:41:15 AM UTC-4, Danial Klimkin wrote:

 Hello,


 The sandbox was replaced with Test Accounts. See:

   https://developers.google.com/adwords/api/docs/test-accounts


 -Danial, AdWords API Team.

 On Monday, June 3, 2013 4:18:59 PM UTC+4, rocs...@gmail.com wrote:

 For getting access_token i am using client library: 
 aw_api_php_lib_4.2.2_src/examples/v201302/Misc/UseOAuth2.php
 In result:
 *Log in to your AdWords account and open the following URL: 
 https://accounts.google.com/o/oauth2/auth?response_type=codeclient_id=INSERT_OAUTH2_CLIENT_ID_HEREredirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoobscope=https%3A%2F%2Fsandbox-adwords.google.com%2Fapi%2Fadwords%2Faccess_type=offline
 *
 *After approving the token enter the authorization code here: *

 But when i try to visit link: 
 https://accounts.google.com/o/oauth2/auth?response_type=codeclient_id=826719210143-rb159ue7ck9kinf3i1ge250vipt92dgj.apps.googleusercontent.comredirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoobscope=https%3A%2F%2Fsandbox-adwords.google.com%2Fapi%2Fadwords%2Faccess_type=offline

 I have an error: 

 invalid_scope

 Some requested scopes were invalid. {invalid=[
 https://sandbox-adwords.google.com/api/adwords/]}



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 jwt ruby issue

2013-07-22 Thread Danial Klimkin
I am closing this thread as it is an old one, unrelated to this question 
(it was about jwt) and the same question is discussed on several other 
threads.


-Danial, AdWords API Team.


On Saturday, July 20, 2013 2:30:47 AM UTC+4, Matthew Ledom wrote:

 Did you ever answer the question about using the refresh token in:

 token = { :refresh_token = '' }
 api.authorize({:oauth2_token = token})

 The sample app does not show how to use that. I have setup the sample app 
 and it works great. In my application I can't have the user logging in all 
 the time and I'm trying to store the refresh token, access token and even 
 the code from the browser redirect auth. I can't figure out how to use the 
 different tokens to authenicate without getting OAUTH_TOKEN_INVALID

 On Tuesday, March 26, 2013 3:28:11 AM UTC-4, Danial Klimkin wrote:

 Hello hagay,


 Yes, JWT is supported in the Ruby library. See this example:

   
 https://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201302/misc/use_oauth2_jwt.rb

 Most likely you only need to alter your configuration file to include:

 :authentication:
   :method: OAUTH2_JWT
   :oauth2_issuer: 'your issuer'
   :oauth2_secret: 'your secret'
   :oauth2_keyfile: '/path/to/the/keyfile'
   :oauth2_prn: 'account to impersonate'


 -Danial, AdWords API Team.


 On Wednesday, March 20, 2013 7:10:04 PM UTC+4, hagay wrote:

 Hi Daniel,

 In my company we have our own domain. and we prefer to gain oauth2 
 without user interaction as the nature of our application is server side 
 only.
 Is the Oauth2 jwt  working for ruby users? if not is there a chance to 
 use another library (say python) in order to use the oauth2-jwt
 What do i need to prepare in order to use oauth2-jwt.

 Your help are most appreciated.

 hagay.

 On Monday, February 18, 2013 1:16:35 PM UTC+2, Danial Klimkin wrote:

 Hello,


 I am sorry we can not provide support on domain administration. Please 
 consider using non-JWT flow (which is a better approach in most cases) as 
 I 
 outlined in this thread.


 -Danial, AdWords API Team.


 On Thursday, February 14, 2013 7:06:28 PM UTC+4, 
 jmcu...@restorando.comwrote:

 Hi Danial, I'm having the same problem here.

 I'm using OAuth2_Jwt with this config:

   :oauth2_issuer: xx...@developer.gserviceaccount.com' 
   :oauth2_secret: 'notasecret'
   :oauth2_keyfile: '/path/to/privatekey.p12'
   :oauth2_prn: 'email i use to log in to google adwords account' 

   # Other parameters.
   :developer_token: 'xx'
   :client_customer_id: ''

 and I get this message:

 Signet::AuthorizationError: Authorization failed.  Server message:
 {
   error : access_denied
 }

 I manage my own domain but I cannot find how to grant the application 
 to impersonate users for AdWords without using the Business Edition. 
 Could 
 you please tell me how could I do that?



 On Thursday, February 14, 2013 10:26:32 AM UTC-3, hagay wrote:


 Hi Daniel, 
 Ok. In that case i guess I should use the the Oauth2 .

 The issue is that I need to access the adsowrds api (using oauth2) 
 *without 
 user interaction*. Do i still need  the 'Service account' or 
 'Installed Application' ?
 If I need to use the 'Installed Application' how can i fetch the 
 verification_code every time i restart my server ?


 Thanks for your help.
 hagay.


 On Thursday, February 14, 2013 12:40:29 PM UTC+2, Danial Klimkin 
 wrote:

 Hello hagay,


 You should only use OAUTH2_JWT if you are administering your own 
 domain. If you access 3rd party accounts, you should use plain OAUTH2.

 In case you do manage the domain, you need to grant the application 
 to impersonate users for AdWords, please check with your domain 
 administrator on have to do this.

 See also:

   https://developers.google.com/accounts/docs/OAuth2ServiceAccount


 -Danial, AdWords API Team.


 On Wednesday, February 13, 2013 6:55:14 PM UTC+4, hagay wrote:

 Hi,

 I am writing server side application that using adwords_api, witch 
 mean i should use OAUTH2_JWT, right?

 To create the client id i used the api console with the option of 
  'service_account'. 

 to the config file i am using:
   :authentication = {
 :method: OAUTH2_JWT
 :oauth2_issuer:  the email address i got  within the creation 
 of the this client id 
 :oauth2_secret: *notasecret* #Is it correct?
 :oauth2_keyfile: '/path/to/key.p12' # this filed downloaded 
 :developer_token: 'dev_token',
 :client_customer_id: '123-456-7890'# the client_customer_id 
 i used with the adwords api
   } 

 i am getting the error:

 Signet::AuthorizationError: Authorization failed.  Server message:
 {
   error : invalid_grant
 }

 what am i doing wrong?




 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 = 

v201306 problem retrieving rule-based remarketing lists with AdwordsUserListService

2013-07-22 Thread scordeiro
I'm switching from v201209 to v201306 and I'm noticing some strange 
behavior.  With this update i've had to move from the UserListService to 
the AdwordsUserListService for UserList management but they seem to be 
giving different results.  When I used to try and pull all user lists for a 
given account with the UserListService i'd get both rule-based and 
tag-based lists, but now with the AdwordsUserListService i'm only getting 
the tag-based lists back. Is this expected? Is there any way to get the 
rule-based lists? 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: ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH with FieldPath Selector for multi clients

2013-07-22 Thread DEEPAK KUMAR
Hello Anash

I am trying to download report from google adwords using API.
But it gives me error 
ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector
 I am new to google adwords API
Please Help Me.
For download Report I am using Below code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;
using System.Net;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
public bool DownloadReportDefinition(string reportDefinitionXml, string 
authToken, string clientCustomerId, string developerToken, string filePath, 
bool downloadInMicros)
{
Uri downloadUrl = new 
Uri(https://adwords.google.com/api/adwords/reportdownload/v201306;);

WebRequest request = HttpWebRequest.Create(downloadUrl);
request.Headers.Add(clientCustomerId:  + clientCustomerId);
request.Headers.Add(developerToken:  + developerToken);
request.Headers.Add(Authorization: GoogleLogin auth= + authToken);
request.Headers.Add(returnMoneyInMicros:  + 
downloadInMicros.ToString().ToLower());

request.Method = POST;
request.ContentType = application/x-www-form-urlencoded;
using (StreamWriter writer = new 
StreamWriter(request.GetRequestStream()))
{
writer.Write(__rdxml= + 
HttpUtility.UrlEncode(reportDefinitionXml));
}

WebResponse response = null;
bool success = false;
try
{
response = request.GetResponse();   
success = true;
}
catch (WebException ex)
{
// The server will return an error code other than 200 if 
something goes wrong. The actual reason for
// failure can be found by reading the response.
response = ex.Response;

}
 DownloadReportToFile(filePath, response);
 return success;
}

private static void DownloadReportToFile(string filePath, WebResponse 
response)
{
FileStream outputStream = File.Create(filePath);
using (Stream responseStream = response.GetResponseStream())
{
CopyStream(responseStream, outputStream);
}
outputStream.Close();
}

private static void CopyStream(Stream sourceStream, Stream targetStream)
{
int bufferSize = 2  20;
byte[] buffer = new byte[bufferSize];

int bytesRead = 0;
while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
{
targetStream.Write(buffer, 0, bytesRead);
}
}
protected void btnDownloadRepot_Click(object sender, EventArgs e)
{
//
string reportDefination = ;
reportDefination = reportDefinition;
reportDefination = reportDefination + selector;
reportDefination = reportDefination + fieldsId/fields;
reportDefination = reportDefination + fieldsDate/fields;
reportDefination = reportDefination + fieldsAdGroupId/fields;
reportDefination = reportDefination + 
fieldsImpressions/fields;
reportDefination = reportDefination + fieldsClicks/fields;
reportDefination = reportDefination + fieldsCost/fields;
reportDefination = reportDefination + 
fieldsConversions/fields;
reportDefination = reportDefination + 
fieldsConversionValue/fields;
reportDefination = reportDefination + 
fieldsAveragePosition/fields;
reportDefination = reportDefination + dateRange;
reportDefination = reportDefination + min20130701/min;
reportDefination = reportDefination + max20130718/max;
reportDefination = reportDefination + /dateRange;
reportDefination = reportDefination + /selector;
reportDefination = reportDefination + reportNameAD PERFORMANCE 
REPORT/reportName;
reportDefination = reportDefination + 
reportTypeAD_PERFORMANCE_REPORT/reportType;
reportDefination = reportDefination + 
dateRangeTypeCUSTOM_DATE/dateRangeType;
reportDefination = reportDefination + 
downloadFormatXML/downloadFormat;
reportDefination = reportDefination + /reportDefinition;
string authetoken = ;
authetoken = xyz;

DownloadReportDefinition(reportDefination, authetoken, 123, 
abc, C:\\Users\\deepak.singh\\Documents, true);

}
}

Thanks  Warm Regards
Deepak Singh

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

v201306 retrieving rule-based remarketing lists

2013-07-22 Thread scordeiro
I'm updating from v201209 to v201306 which requires me to move from the 
UserListService to the AdwordsUserListService for user list management and 
I've noticed something strange. Previously when I made a call to retrieve 
all userlists from a given account I would get both rule-based and 
tag-based lists. However now I only get the tag-based lists.  Is this the 
expected behavior with this new service or am I just missing something?  Is 
there any way to retrieve those rule-based lists now?  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.




How can I see my token review progress?

2013-07-22 Thread yogis
Hi,
I changed my product's spec and submitted it via AdWords API Tool Change 
Form, but I had no reply for 2 weeks.
So, I emailed to adwordsapi-tok...@google.com.

They replied that check my Developer Contact email address and resubmit the 
token application, so I followed it, but I haven't received any reply in 2 
business days.

Is there any way to see the progress of review?
Or every applicant can't know the progress until their token would approved 
or disapproved?
I don't even know that my token application successfully submitted or not.

Regards,
Yogis
MCCID: 868-027-2051

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




Performance data by language

2013-07-22 Thread techpoint . 2015
Hi,

Is it possible to get performance data by language via API?

I have checked several available report types but not able to find this.

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.




Discrepancies between ad-hoc perf rpts - campaigns

2013-07-22 Thread William Yeager
I'm working with bringing in AW ad-hoc reports into our DB for more 
reporting.  The issue i'm seeing is that not all the campaigns are being 
listed in each report.  I am running it with Impressions 0 and not 
selecting any segments.
For example:  ad_performance_report will give me ~700 distinct campaigns. 
 keywords_performance_report will give me ~ 500 distinct campaigns. 
autoplacements_performance_rpt will give me ~ 200 campaigns.
What am I missing here?  Trying to understand the discrepancies.

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.




[Python] ReportDownloader seems to be not working

2013-07-22 Thread Michael Samoylov
Hi.

I can't use download reports with the Python client. I'm using with 
adwords-15.9.0 with v201306. It always faild with: 

headers['Authorization'] = 'Bearer ' + self.access_token
TypeError: cannot concatenate 'str' and 'NoneType' objects

Example scripts 
get_report_fields.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/get_report_fields.py
 and 
get_campaign_stats.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/get_campaign_stats.py
 work 
fine but 
download_criteria_report.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/download_criteria_report.py
 and 
download_criteria_report_with_awql.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/download_criteria_report_with_awql.py
 fail 
with the same error.

Any ideas?

Thanks,
Mike

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




appendRow of null

2013-07-22 Thread Ramarosoa Faneva
Hi All,

I was using the codes of Russ for the QS account, i wanted to include the 
variation of cpc too but the codes gives me an apprendRow error. This is my 
code :

//---
// Store Account Level Quality Score in Google Spreadsheet.
// Created By: Russ Savage
// Based on script originally found at: 
http://searchengineland.com/how-account-quality-score-can-guide-adwords-optimization-148595
// FreeAdWordsScripts.com
//---
function main() {
  var SPREADSHEET_URL = 
https://docs.google.com/spreadsheet/ccc?key=0AuBDBGZ7z9xYdDEzMDNxOU5MZVltZ2FTMzladHAtN0E#gid=0;;
  var ACCOUNT_NAME = 'Account1';
  var today = new Date();
  var date_str = [today.getFullYear(),(today.getMonth() + 
1),today.getDate()].join(-);
   
  var spreadsheet = getSpreadsheet(SPREADSHEET_URL);
  var qs_sheet = spreadsheet.getSheetByName(ACCOUNT_NAME);
   
  var kw_iter = AdWordsApp.keywords()
.withCondition(Status = ENABLED)
.forDateRange(LAST_30_DAYS)
.withCondition(Impressions  0)
.orderBy(Impressions DESC)
.withLimit(5)
.get();
 
  var tot_imps_weighted_qs = 0;
  var tot_imps = 0;
  var tot_cout = 0;
  var tot_clics = 0;
   
  while(kw_iter.hasNext()) {
var kw = kw_iter.next();
var kw_stats = kw.getStatsFor(LAST_30_DAYS);
var imps = kw_stats.getImpressions();
var cout = kw_stats.getCost ();
var clics = kw_stats.getClicks ();
var qs = kw.getQualityScore();
tot_imps_weighted_qs += (qs * imps);
tot_imps += imps;
tot_cout += cout;
tot_clics += clics;
  }
 
  var acct_qs = tot_imps_weighted_qs / tot_imps;
  var couts = tot_cout;
  var clicks = tot_clics;
 
  qs_sheet.appendRow([date_str,acct_qs,couts,clicks]);
   
  function getSpreadsheet(spreadsheetUrl) {
var matches = new RegExp('key=([^#]*)').exec(spreadsheetUrl);
if (!matches || !matches[1]) {
  throw 'Invalid spreadsheet URL: ' + spreadsheetUrl;
}
var spreadsheetId = matches[1];
return SpreadsheetApp.openById(spreadsheetId);
  }
}

Someone can help me ?

Thanks you !




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




AdGroupCriterionService Bug? - EntityNotFound.INVALID_ID for CriterionId that exists

2013-07-22 Thread Akil Burgess
Hi All,

We're seeing a reproducable issue where we receive an 
EntityNotFound.INVALID_ID (trigger - CriterionId) error for a mutate 
operation on AdGroupCriterion using a valid AdGroupId and CriterionId 
(Id). The AdGroupCriterionService get call returns the AdGroupCriterion 
object with the same Ids that are being said to be invalid. 

I have attached the soap logs for the mutate operation and the get 
operation below. Is this a bug in the AdGroupCriterionService or is there 
something wrong with our AdGroupCriterionOperation?

Thanks!
Akil Burgess


-BEGIN API CALL-

Request (Mutate)
---


?xml version=1.0 encoding=utf-8?soap:Envelope 
xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
xmlns:xsd=http://www.w3.org/2001/XMLSchema;!--POST 
/api/adwords/cm/v201306/AdGroupCriterionService
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client 
Protocol 4.0.30319.18051)
VsDebuggerCausalityData: 
uIDPowA6lARsOPdGukKutxnlLlgANiaXQS2+v0qF1bOWBKYRAyjTf3Fc57dJitdesMIpq6IACQAA
Content-Type: text/xml; charset=utf-8
SOAPAction: 
Host: adwords.google.com
Content-Length: 1540
Accept-Encoding: gzip
Connection: Keep-Alive
TimeStamp: Mon, 22 Jul 2013 12:02:27 GMT
--soap:HeaderRequestHeader 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;authToken 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;**/authTokendeveloperToken
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;**/developerTokenclientCustomerId
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;9765518125/clientCustomerIduserAgent
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306; 
(AwApi-DotNet/16.1.0, Common-Dotnet/1.8.0, .NET CLR/4.0.30319.18051, 
gzip)/userAgent/RequestHeader/soap:Headersoap:Bodymutate 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;operationsoperatorSET/operatoroperand
 
xsi:type=BiddableAdGroupCriterionadGroupId3790202104/adGroupIdcriterion 
xsi:type=Keywordid37523985304/id/criterionbiddingStrategyConfigurationbids
 
xsi:type=CpcBidbidmicroAmount80/microAmount/bid/bids/biddingStrategyConfiguration/operand/operations/mutate/soap:Body/soap:Envelope

Response (Mutate)



soap:Envelope 
xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;!--Content-Encoding: 
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 535
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=UTF-8
Date: Mon, 22 Jul 2013 11:01:16 GMT
Expires: Mon, 22 Jul 2013 11:01:16 GMT
Server: GSE
TimeStamp: Mon, 22 Jul 2013 12:02:27 GMT
--soap:HeaderResponseHeader 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;requestId0004e2179870ad280ae50e884419/requestIdserviceNameAdGroupCriterionService/serviceNamemethodNamemutate/methodNameoperations0/operationsresponseTime478/responseTime/ResponseHeader/soap:Headersoap:Bodysoap:Faultfaultcodesoap:Server/faultcodefaultstring[EntityNotFound.INVALID_ID
 
@ operations[0].operand.criterion.id; 
trigger:'CriterionId{id=37523985304}']/faultstringdetailApiExceptionFault 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;message[EntityNotFound.INVALID_ID
 
@ operations[0].operand.criterion.id; 
trigger:'CriterionId{id=37523985304}']/messageApplicationException.TypeApiException/ApplicationException.Typeerrors
 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
xsi:type=EntityNotFoundfieldPathoperations[0].operand.criterion.id/fieldPathtriggerCriterionId{id=37523985304}/triggererrorStringEntityNotFound.INVALID_ID/errorStringApiError.TypeEntityNotFound/ApiError.TypereasonINVALID_ID/reason/errors/ApiExceptionFault/detail/soap:Fault/soap:Body/soap:Envelope
-END API CALL---

-BEGIN API CALL-

Request (Get)
---


?xml version=1.0 encoding=utf-8?soap:Envelope 
xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
xmlns:xsd=http://www.w3.org/2001/XMLSchema;!--POST 
/api/adwords/cm/v201306/AdGroupCriterionService
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client 
Protocol 4.0.30319.18051)
VsDebuggerCausalityData: 
uIDPo3bOCEf8qJROof0bhcA1TDcAT2HD25jDzUGnU2As9HdxCUHJYPMJGZBCiWlffLMJkWEACQAA
Content-Type: text/xml; charset=utf-8
SOAPAction: 
Host: adwords.google.com
Content-Length: 2621
Accept-Encoding: gzip
Connection: Keep-Alive
TimeStamp: Mon, 22 Jul 2013 12:03:30 GMT
--soap:HeaderRequestHeader 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;authToken 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;**/authTokendeveloperToken
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;**/developerTokenclientCustomerId
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306;9765518125/clientCustomerIduserAgent
 
xmlns=https://adwords.google.com/api/adwords/cm/v201306; 
(AwApi-DotNet/16.1.0, 

Re: Default Max. CPC for adgroup

2013-07-22 Thread Paul Matthews (AdWords API Team)
Hi Roberto,

The content from this topic is no longer relevant to all current versions 
of the API, as it was last posted to in 2011.

For general information about bidding, please see the bidding 
guidehttps://developers.google.com/adwords/api/docs/guides/biddingin our 
docs. The previously named MaxCpc is now exposed as 
CpcBid.bidhttps://developers.google.com/adwords/api/docs/reference/latest/CampaignService.CpcBid?hl=en#bidin
 the latest version of the API.

For example code on setting the bidding strategy, each library ships with 
an add ad group example, which contains the relevant code. Here is a link 
to the java AddAdGroups.java 
examplehttps://code.google.com/p/google-api-ads-java/source/browse/examples/adwords_axis/src/main/java/adwords/axis/v201306/basicoperations/AddAdGroups.java
.

Regards,

- Paul, AdWords API Team.

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




ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector

2013-07-22 Thread DEEPAK KUMAR
Hello All 

I am trying to download Report Using Google adwords api.
When I Run to the below given code it gives me error 
ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector 
Please Help me.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;
using System.Net;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
public bool DownloadReportDefinition(string reportDefinitionXml, string 
authToken, string clientCustomerId, string developerToken, string filePath, 
bool downloadInMicros)
{
Uri downloadUrl = new 
Uri(https://adwords.google.com/api/adwords/reportdownload/v201306;);

WebRequest request = HttpWebRequest.Create(downloadUrl);
request.Headers.Add(clientCustomerId:  + clientCustomerId);
request.Headers.Add(developerToken:  + developerToken);
request.Headers.Add(Authorization: GoogleLogin auth= + authToken);
request.Headers.Add(returnMoneyInMicros:  + 
downloadInMicros.ToString().ToLower());

request.Method = POST;
request.ContentType = application/x-www-form-urlencoded;
using (StreamWriter writer = new 
StreamWriter(request.GetRequestStream()))
{
writer.Write(__rdxml= + 
HttpUtility.UrlEncode(reportDefinitionXml));
}

WebResponse response = null;
bool success = false;
try
{
response = request.GetResponse();   
success = true;
}
catch (WebException ex)
{
// The server will return an error code other than 200 if 
something goes wrong. The actual reason for
// failure can be found by reading the response.
response = ex.Response;

}
 DownloadReportToFile(filePath, response);
 return success;
}

private static void DownloadReportToFile(string filePath, WebResponse 
response)
{
FileStream outputStream = File.Create(filePath);
using (Stream responseStream = response.GetResponseStream())
{
CopyStream(responseStream, outputStream);
}
outputStream.Close();
}

private static void CopyStream(Stream sourceStream, Stream targetStream)
{
int bufferSize = 2  20;
byte[] buffer = new byte[bufferSize];

int bytesRead = 0;
while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
{
targetStream.Write(buffer, 0, bytesRead);
}
}
protected void btnDownloadRepot_Click(object sender, EventArgs e)
{
//
string reportDefination = ;
reportDefination = reportDefinition;
reportDefination = reportDefination + selector;
reportDefination = reportDefination + fieldsId/fields;
reportDefination = reportDefination + fieldsDate/fields;
reportDefination = reportDefination + fieldsAdGroupId/fields;
reportDefination = reportDefination + 
fieldsImpressions/fields;
reportDefination = reportDefination + fieldsClicks/fields;
reportDefination = reportDefination + fieldsCost/fields;
reportDefination = reportDefination + 
fieldsConversions/fields;
reportDefination = reportDefination + 
fieldsConversionValue/fields;
reportDefination = reportDefination + 
fieldsAveragePosition/fields;
reportDefination = reportDefination + dateRange;
reportDefination = reportDefination + min20130701/min;
reportDefination = reportDefination + max20130718/max;
reportDefination = reportDefination + /dateRange;
reportDefination = reportDefination + /selector;
reportDefination = reportDefination + reportNameAD PERFORMANCE 
REPORT/reportName;
reportDefination = reportDefination + 
reportTypeAD_PERFORMANCE_REPORT/reportType;
reportDefination = reportDefination + 
dateRangeTypeCUSTOM_DATE/dateRangeType;
reportDefination = reportDefination + 
downloadFormatXML/downloadFormat;
reportDefination = reportDefination + /reportDefinition;
string authetoken = ;
authetoken = xyz;

DownloadReportDefinition(reportDefination, authetoken, 123, 
abc, C:\\Users\\deepak.singh\\Documents, true);

}
}


Thanks  Warm Regards
Deepak Singh

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

Re: [7-4674000001128] Re: Placements date from the API doesn't match with the real data

2013-07-22 Thread Shay Hananashvili
Hi Paul, Anything new?

please advise,
Regards Shay.
Smart Media Ltd.


2013/6/10 adwords-api@googlegroups.com

 Hi Shay,

 My apologies for the delay in response. I'm looking into the requests made
 by your account and the numbers being returned. I'll get back to you as
 soon as I have more information.

 Regards,

 - Paul, AdWords API Team.


 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 Also find us on our blog and discussion group:
 http://googleadsdeveloper.blogspot.com/search/label/adwords_api
 https://developers.google.com/adwords/api/community/
 =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

 On 06/04/13 07:04:18 s...@smedia.co.il wrote:

 some details:
 AdWords API v201302
 Developer token: yxokggajv4gopNWc2Bj4Kw
 Client: *Hopy NIS* ( Client ID: 319-879-8061 )
 Campaign: *template cpm russia* ( ID: 119677335 )
 AdGroup: *special placements combo* ( ID: 5496375735 )

 running this simple code:

 ?php

 require_once 'init.php';

 function GetPlacementsEx(AdWordsUser $user, $adGroupId) {
  $placements = array();
 $adGroupCriterionService = $user-GetService('**AdGroupCriterionService',
 ADWORDS_VERSION);
  $selector = new Selector();
 $selector-fields = array('PlacementUrl', 'Id', 'Status', 'Impressions');
  $selector-ordering[] = new OrderBy('Id', 'ASCENDING');
 $selector-predicates[] = new Predicate('AdGroupId', 'IN',
 is_array($adGroupId) ? $adGroupId : array($adGroupId));
  $selector-predicates[] = new Predicate('CriteriaType', 'IN',
 array('PLACEMENT'));
 $page = $adGroupCriterionService-get(**$selector);
  if (isset($page-entries))
 foreach ($page-entries as $adGroupCriterion)
 $placements[$adGroupCriterion-**criterion-id] =
 array($adGroupCriterion-**criterion-url, $adGroupCriterion-userStatus,
 $adGroupCriterion-stats-**impressions);
  return $placements;
 }

 try {
 $user = new AdWordsUser();
 //$user-LogAll();
  $ag_id = array(5496375735);
 $adGroupCriterion = GetPlacementsEx($user, $ag_id);
 foreach ($adGroupCriterion as $agc_id = $agc_details)
  printf(\t\tActive placement with URL '%s' and id '%s' was found.
 status:'%s' impr:'%s'\n, $agc_details[0], $agc_id, $agc_details[1],
 $agc_details[2]);
 } catch (Exception $e) {
 printf(An error has occurred: %s\n, $e-getMessage());
 }

 ?

 I get 4692 results while google's campaign manager give's me 4706 results
 (lets call it `acceptable loss`).
 And the placements details are very inaccurate. for example:
 placement game01.ru ( 16203767823 ) has 351,678 impressions, and from the
 API I get 1090.

 [image: תמונה מוטבעת 1]

 this is one example out of *most *of the results.
 Please contact me with a solution.

 thanks,
 Shay.


 2013/6/3 Paul Matthews (AdWords API Team) adwordsapiadvisor+paul@**
 google.com

 Hi There,

 Is there any chance you could email us an example SOAP Request / Response,
 and what numbers you expect to see in it, so we can investigate this
 further.

 Regards,

 - Paul, AdWords API Team.

 On Thursday, 30 May 2013 10:44:22 UTC-4, sh...@smedia.co.il wrote:

 Hi.

 I wrote a code to pause all placements that has Ctr less than 2.5% and
 more than 200 impressions.
 The problem is that the data I recieve from the API is by far inacurate (I
 see 100 impressions for a placement with 30 impressions).
 I made a lot of tests and I came to a conclusion that the problem is not
 on my side.

 Code example:
 ?php

 require_once 'init.php';

 function GetCampaignsEx(AdWordsUser $user) {
 $campaigns = array();
  $campaignService = $user-GetService('**CampaignSer**vice',
 ADWORDS_VERSION);
 $selector = new Selector();
  $selector-fields = array('Id', 'Name');
 $selector-ordering[] = new OrderBy('Id', 'ASCENDING');
  $selector-predicates[] = new Predicate('Name', 'CONTAINS_IGNORE_CASE',
 'cpm');
 $selector-predicates[] = new Predicate('Status', 'IN', array('ACTIVE'));
  $page = $campaignService-get($**selecto**r);
 if (isset($page-entries))
  foreach ($page-entries as $campaign)
 $campaigns[$campaign-id] = $campaign-name;
  return $campaigns;
 }

 function GetAdGroupsEx(AdWordsUser $user, $campaignId) {
  $adGroups = array();
 $adGroupService = $user-GetService('**AdGroupServ**ice',
 ADWORDS_VERSION);
  $selector = new Selector();
 $selector-fields = array('Id', 'Name');
  $selector-ordering[] = new OrderBy('Id', 'ASCENDING');
 $selector-predicates[] = new Predicate('CampaignId', 'IN',
 array($campaignId));
  $selector-predicates[] = new Predicate('Status', 'IN',
 array('ENABLED'));
 $page = $adGroupService-get($**selector**);
  foreach ($page-entries as $adGroup)
 $adGroups[$adGroup-id] = $adGroup-name;
  return $adGroups;
 }

 function GetPlacementsEx(AdWordsUser $user, $adGroupId) {
  $placements = array();
 $adGroupCriterionService = $user-GetService('**AdGroupCrit**erionService',
 ADWORDS_VERSION);
  $selector = new Selector();
 $dateRange = new DateRange();
  $selector-fields = array('PlacementUrl', 'Id', 'Status', 'Impressions');
 $selector-ordering[] = new OrderBy('Id', 'ASCENDING');
  $selector-predicates[] = 

Downloading file for keywords with an error

2013-07-22 Thread me
I have tested new Keyword tool. When I download it is an error as CSV file 
includes wrong format of cell like Competition. It will result Date...
Need help.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: How do I get Criteria by CriteriaId?

2013-07-22 Thread aradhyatripathi13
Hi David,

So there is no way to get criteria by IDs?
Please consider including this in future API upgrades.

Cheers,
Aradhya

On Friday, 19 July 2013 02:22:03 UTC+5:30, David Torres (AdWords API Team) 
wrote:

 Hi Aradhya,

 We don't keep record of deleted campaign criteria, that is why there are 
 not visible to the CampaignCriterionService.

 Best,

 - David

 On Wednesday, July 17, 2013 2:57:37 AM UTC-4, aradhyat...@gmail.com wrote:


 Hi David,

 I have deleted CriterionID 21176 from CampaignID 133529824.

 Thanks,
 Aradhya. 

 On Wednesday, July 17, 2013 2:02:57 AM UTC+5:30, David Torres (AdWords 
 API Team) wrote:

 Hi Aradhya,

 What kind of campaign criteria are you trying to retrieve? can you give 
 me a campaign ID as example?

 Best,

 - David

 On Monday, July 15, 2013 8:41:22 AM UTC-4, aradhyat...@gmail.com wrote:

 Hi David,

 I am getting this error when I tried what you suggested:

 SelectorError.INVALID_PREDICATE_FIELD_NAME @ serviceSelector; 
 trigger:'Status'

 I expected this would happen as there is no such field mentioned here: 
 https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201302-CampaignCriterionService

 Also, where can I get a list of all the possible statuses? 

 Thanks,
 Aradhya

 On Saturday, July 13, 2013 2:13:55 AM UTC+5:30, David Torres (AdWords 
 API Team) wrote:

 Hi Aradhya,

 For deleted criteria you also have to specific a predicate such as 
 Status IN ['DELETED']. By default deleted criteria is not returned by 
 the services.

 Best,

 - David Torres - AdWords API Team

 On Friday, July 12, 2013 2:11:35 AM UTC-4, aradhyat...@gmail.comwrote:

 Hi,

 I am using *CustomerSyncService *to get the ids of the criteria that 
 have been added or deleted during a time period.
 Now, I need the corresponding criterion objects from the ids.How do I 
 accomplish this?
 I tried using *CampaignCriterionService *and passing the CampaignIds 
 and CriteriaIds as the predicates, *but I do not get the deleted 
 criteria objects*.
 I looked into *ConstantDataService*, but it returns all criterias, 
 and there is no provision to filter by Ids.

 Thanks,
 Aradhya



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




Does Keyword Performance Report contain statistics of upgraded sitelinks?

2013-07-22 Thread gai-test-1
Hello,

does the Keyword Performance Report also contain keyfigures of upgraded 
sitelinks? Or do we need to query the Placeholder Feed Item Performance 
Report for keyfigures of upgraded sitelinks?

Thank you :-)

Andreas B. 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Can't reuse oauth2 token - gives me OAUTH_TOKEN_INVALID (Ruby client lib)

2013-07-22 Thread Paul Matthews (AdWords API Team)
Hi Matthew,

The Ruby OAuth2 infohttps://code.google.com/p/google-api-ads-ruby/wiki/OAuth2 
along 
with the 
READMEhttps://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/README#31
 should 
explain all the steps for configuring your client. But it's worth testing 
the setup_oauth2.rb 
examplehttps://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201306/misc/setup_oauth2.rb,
 
to see if that resolves the issue.

Finally, if you're receiving a token, but when used it responds with 
OAUTH_TOKEN_INVALID, we recommend checking your token with the tokeninfo 
servicehttps://developers.google.com/accounts/docs/OAuth2Login#validatinganidtoken.
 
Once you've received a token response, you can send it to the tokeninfo 
service, for information on the token. See below for an example.

https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=*TOKEN 
HERE*https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=
.

Regards,

- Paul, AdWords API Team.

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




ORDER BY Clicks DESC Returns INVALID_ORDER_BY_CLAUSE - Bug

2013-07-22 Thread Marcin Rosinski


Hi guys, there seems to be a bug regarding the Reporting AWQL endpoint.


What steps will reproduce the problem?
Run query:
SELECT Query, MatchType, Clicks, Cost, Impressions FROM 
SEARCH_QUERY_PERFORMANCE_REPORT DURING 20130621,20130721 ORDER BY Clicks DESC

Query without ORDER BY Clicks DESC works all OK.
Please can you advise.


P.S.

Initially I have reported it here - 
https://code.google.com/p/google-api-adwords-php/issues/detail?id=103 but been 
asked to move it under this forum.  

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Experiments (ACE) for adcopies: 'get' method doesn't seem to work for ExperimentDeltaStatus and ExperimentDataStatus

2013-07-22 Thread Francesco Della Vedova
*** Outgoing SOAP **
?xml version='1.0' encoding='UTF-8'?
ns0:Envelope xmlns:ns0=http://schemas.xmlsoap.org/soap/envelope/; 
xmlns:ns1=https://adwords.google.com/api/adwords/cm/v201302; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
ns0:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/;
 ns0:Header
.
 ns0:Body
  ns1:get
   ns1:serviceSelector xsi:type=cm:Selector
ns1:fieldsId/ns1:fields
ns1:fieldsAdGroupId/ns1:fields
ns1:fieldsHeadline/ns1:fields
ns1:fieldsDescription1/ns1:fields
ns1:fieldsDescription2/ns1:fields
ns1:fieldsDisplayUrl/ns1:fields
ns1:fieldsUrl/ns1:fields
ns1:fieldsExperimentDeltaStatus/ns1:fields
ns1:predicates xsi:type=cm:Predicate
 ns1:fieldAdGroupId/ns1:field
 ns1:operatorIN/ns1:operator
 ns1:values11350788328/ns1:values
/ns1:predicates
ns1:predicates xsi:type=cm:Predicate
 ns1:fieldStatus/ns1:field
 ns1:operatorIN/ns1:operator
 ns1:valuesENABLED/ns1:values
 ns1:valuesPAUSED/ns1:values
/ns1:predicates
ns1:paging xsi:type=cm:Paging
 ns1:startIndex0/ns1:startIndex
 ns1:numberResults5000/ns1:numberResults
/ns1:paging
   /ns1:serviceSelector
  /ns1:get
 /ns0:Body
/ns0:Envelope

*** Incoming HTTP headers **
HTTP/1.? 200 OK
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Mon, 22 Jul 2013 10:40:13 GMT
Expires: Mon, 22 Jul 2013 10:40:13 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE

*** Incoming SOAP **
?xml version='1.0' encoding='UTF-8'?
ns0:Envelope xmlns:ns0=http://schemas.xmlsoap.org/soap/envelope/; 
xmlns:ns1=https://adwords.google.com/api/adwords/cm/v201302; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 ns0:Header
  ns1:ResponseHeader
   ns1:requestId0004e2174d1af4a00ae5688940f3/ns1:requestId
   ns1:serviceNameAdGroupAdService/ns1:serviceName
   ns1:methodNameget/ns1:methodName
   ns1:operations1/ns1:operations
   ns1:responseTime766/ns1:responseTime
   ns1:units0/ns1:units
  /ns1:ResponseHeader
 /ns0:Header
 ns0:Body
  ns1:getResponse
   ns1:rval
ns1:totalNumEntries660/ns1:totalNumEntries
ns1:Page.TypeAdGroupAdPage/ns1:Page.Type
 ns1:adGroupId11350788328/ns1:adGroupId
 ns1:ad xsi:type=TextAd
  ns1:id42267946288/ns1:id
  ns1:urlhttp://www.wimdu.se/?v=2/ns1:url
  ns1:displayUrlwww.Wimdu.se/London_hostels/ns1:displayUrl
  ns1:Ad.TypeTextAd/ns1:Ad.Type
  ns1:headlineLondon prisvärda hostels/ns1:headline
  ns1:description1Book hostels från 160 kr/n/ns1:description1
  ns1:description2Enkelt och säkert online bokning/ns1:description2
 /ns1:ad
 ns1:statusENABLED/ns1:status
 ns1:approvalStatusFAMILY_SAFE/ns1:approvalStatus
 ns1:trademarkDisapprovedfalse/ns1:trademarkDisapproved
 ns1:stats
  ns1:networkSEARCH/ns1:network
  ns1:Stats.TypeAdStats/ns1:Stats.Type
  ns1:percentServed0.0/ns1:percentServed
 /ns1:stats
/ns1:entries
ns1:entries
 ns1:adGroupId11350788328/ns1:adGroupId
 ns1:ad xsi:type=TextAd
  ns1:id42267946408/ns1:id
  ns1:urlhttp://www.wimdu.se/?v=2/ns1:url
  ns1:displayUrlwww.Wimdu.se/London_hostels/ns1:displayUrl
  ns1:Ad.TypeTextAd/ns1:Ad.Type
  ns1:headlineLondon prisvärda hostels/ns1:headline
  ns1:description1Boka kort resa till London/ns1:description1
  ns1:description2Wimdu™ Helt enkelt bättre än 
hotell/ns1:description2
 /ns1:ad
 ns1:statusENABLED/ns1:status
 ns1:approvalStatusFAMILY_SAFE/ns1:approvalStatus
 ns1:trademarkDisapprovedfalse/ns1:trademarkDisapproved
 ns1:stats
  ns1:networkSEARCH/ns1:network
  ns1:Stats.TypeAdStats/ns1:Stats.Type
  ns1:percentServed0.0/ns1:percentServed
 /ns1:stats
/ns1:entries
   /ns1:rval
  /ns1:getResponse
 /ns0:Body
/ns0:Envelope

EndTime: 2013-07-22 12:40:14

On Friday, 19 July 2013 17:02:40 UTC+2, David Torres (AdWords API Team) 
wrote:

 Hi Francesco,

 Could you please post a sanitized sample of your SOAP logs? or just the 
 requestId will suffice.

 Best,

 - David Torres - AdWords API Team

 On Tuesday, July 16, 2013 11:38:01 AM UTC-4, Francesco Della Vedova wrote:

 hello,
 i'm trying to set up my application to run experiments. After setting up 
 the experiment at campaign level, I try to get the ExperimentDeltaStatus of 
 the adcopies, that I assume to be modified (or on adwords online, 'control 
 and experiment'). But the field seems to always be empty...I added the 
 right field to the selector, but nothing appears in the results. Even after 
 manually setting ads to 

Re: Can't reuse oauth2 token - gives me OAUTH_TOKEN_INVALID (Ruby client lib)

2013-07-22 Thread Matthew Ledom
I was finally able to get it working. I had to merge my stored token values 
with the loaded config params from the adwords_api.yml file.  Trying to 
figure out how to set the token after the api object was created was 
causing issues. I used the setup_oauth2.rb example to write the values to 
my config and removed the token information. I'm storing that data in the 
db and load when I need to use it.:

config = File.join( Rails.root, 'config', 'adwords_api.yml' )
config_data = YAML::load_file( config )
config_data[:authentication].merge!({
  :oauth2_token = {
:chunking = true,
:access_token = self.access_token,
:refresh_token = self.refresh_token,
:issued_at = self.expires_at - 3600,
:expires_in = 3600
  }
})
@api = AdwordsApi::Api.new( config_data )

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 autorization x Adwords API

2013-07-22 Thread mcn . adwordz
Hi,
I'm writing the autentication code for work with adwords api.
I read the official guide: 
https://code.google.com/p/google-api-ads-java/source/browse/examples/adwords_axis/README


// Get an OAuth2 credential.
Credential credential = new OfflineCredentials.Builder()
.forApi(OfflineCredentials.Api.AdWords)
.withClientSecrets(clientId, clientSecret)
.withRefreshToken(refreshToken)
.build()
.generateCredential();

// Construct an AdWordsSession.
AdWordsSession session = new AdWordsSession.Builder()
.withDeveloperToken(developerToken)
// ...
.withOAuth2Credential(credential)
.build();
I generated clientId and clientSecret, but refreshToken? How calculate it?

Thanks for your help

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Getting Error The SoapListenerExtension class is not loaded. The most possible cause for this error is that you haven't registered Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extensi

2013-07-22 Thread Anash P. Oommen (AdWords API Team)
Hi Jonathan,

Most likely this is a assembly binding issue, could you run fuslogvw.exe 
and see if that's the case? 
http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx

Cheers,
Anash

On Friday, July 19, 2013 4:42:12 AM UTC+5:30, Jonathan Shaltz wrote:

 What else might be necessary?  My app runs on my local machine but not on 
 any of several servers, though I have full admin rights there.  The error 
 message turns up little in search results, beyond this very forum and a few 
 nearly-identical versions:

 The SoapListenerExtension class is not loaded. The most possible cause for 
 this error is that you haven't registered 
 Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under 
 configuration/system.web/webServices/soapExtensionTypes in your your 
 App.config or Web.config. See the sample App.config for details on how to 
 register soap extensions.

 Here's what I have in my app.config:

 ?xml version=1.0?
 configuration
 configSections
  sectionGroup name=userSettings 
 type=System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, 
 Culture=neutral, PublicKeyToken=b77a5c561934e089
  section name=AdWords.Extractor.Properties.Settings 
 type=System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, 
 Culture=neutral, PublicKeyToken=b77a5c561934e089 
 allowExeDefinition=MachineToLocalUser requirePermission=false /
  /sectionGroup
 /configSections
 connectionStrings.../connectionStrings
 userSettings.../userSettings
 system.web
 webServices
 soapExtensionTypes
 add type=Google.Api.Ads.Common.Lib.SoapListenerExtension, 
 Google.Ads.Common, Version=1.4.0.0, Culture=neutral, 
 PublicKeyToken=52807268f2b614dc priority=1 group=0/
 /soapExtensionTypes
 /webServices
 /system.web
 startupsupportedRuntime version=v4.0 
 sku=.NETFramework,Version=v4.0//startup
 /configuration


 On Friday, April 6, 2012 7:56:41 AM UTC-5, David Torres wrote:

 Hi,

 Make sure you have this line in your App.config or Web.config

 add type=Google.Api.Ads.Common.Lib.SoapListenerExtension, 
 Google.Ads.Common priority=1 group=0/


 Did you just migrated to version = 14.0.0?

 Best,

 -David Torres - AdWords API Team

 On Tuesday, April 3, 2012 1:09:49 AM UTC-4, Pramod Patil wrote:

 Hi

 I am using newer version of  Google.Api.Ads.AdWords.v201109. but I am 
 getting error on red code line . would you please help to resolve this.

 Error : 

 T*he SoapListenerExtension class is not loaded. The most possible cause 
 for this error is that you haven't registered 
 Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under 
 configuration/system.web/webServices/soapExtensionTypes in your your 
 App.config or Web.config.*


 Below is my code.

 Imports Google.Api.Ads.AdWords.Lib
 Imports Google.Api.Ads.AdWords.v13
 Imports Google.Api.Ads.AdWords.v201109

 Public Function getUser() As AdWordsUser
 Dim headers As New Dictionary(Of String, String)
 Dim SearchEngineDBObj As New SearchEngineDB(SQLConn)
 Dim SearchEngineObj As SearchEngine
 Dim emailObj As New 
 FusionLibrary.Fusion.Campaign.eMail(192.168.2.205)

 SearchEngineObj = SearchEngineDBObj.populate(Google)
 If SearchEngineObj Is Nothing Then
 SearchID = 0
 Return Nothing
 End If

 SearchID = SearchEngineObj.SearchID
 headers.Add(email, X)
 headers.Add(password, )
 headers.Add(useragent, X)
 headers.Add(developerToken, XX)
 headers.Add(applicationToken, XX)
 headers.Add(clientCustomerId, XX
 'headers.Add(AuthorizationMethod, ClientLogin)

 Try
 Dim AdWordsUserObj As New AdWordsUser(headers)
 Return AdWordsUserObj
 Catch ex As Exception
 Return Nothing
 End Try
 End Function

   Public Function updateCampaigns() As Integer
 Dim user As AdWordsUser
 user = getUser()

 If user Is Nothing Then
 Return 0
 End If

 Dim CampaignServiceObj As CampaignService
 Dim page As CampaignPage
 Dim SearchEngineeCampaignDBObj As New 
 SearchEngineCampaignDB(SQLConn)
 Dim secObj As SearchEngineCampaign
 Dim rtn As String

 CampaignServiceObj = 
 user.GetService(AdWordsService.v201109.CampaignService)

 Try
 Dim selector As New Selector()
 selector.fields = New String() {Id, Name, Status}

 Dim orderByName As New OrderBy()
 orderByName.field = Name
 orderByName.sortOrder = SortOrder.ASCENDING

 Dim emailObj As New 
 FusionLibrary.Fusion.Campaign.eMail(XX)

 Dim SearchEngineDBObj As New SearchEngineDB(SQLConn)
 Dim 

dateRangeType = 'LAST_7_DAYS'; not working correctly - Downloading report on july 22 not giving july 21 data

2013-07-22 Thread iateadonut
I'm using the dataRangeType of LAST_7_DAYS, which started malfunctioning 
today.  (The same script I ran today did not give me results for 
yesterday.  When I ran it last week, it did give me results for 
'yesterday'.)

In other words, the following test script, when run on July 22, does not 
include data for July 21, but for July 15-July 24.

The test script is:


?php

$customerId = PUT CUSTOMER ID HERE;

error_reporting(E_STRICT | E_ALL);

$path = $adwordsAPIpath;
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

include('init.php');

require_once UTIL_PATH . '/ReportUtils.php';




// Get AdWordsUser from credentials in ../auth.ini
// relative to the AdWordsUser.php file's directory.
$user = new AdWordsUser();

$user-GetAuthToken(); //get the token now; this should force php not 
to fetch the token for each fork()

// Log SOAP XML request and response.
$user-LogDefaults();

// Load ReportDefinitionService so that the required classes are available.
$user-LoadService('ReportDefinitionService', $adwordsVersion);


// Create selector.
$selector = new Selector();
$selector-fields = array('ExternalCustomerId', 'AccountDescriptiveName', 
'PrimaryUserLogin', 'Date', 'AdNetworkType2', 'ValuePerConversion', 
'AveragePosition', 'AverageCpc', 'AverageCpm', 'Ctr', 'CampaignName', 
'CampaignId', 'Status', 'Clicks', 'AccountTimeZoneId', 'ConversionRate', 
'Conversions', 'Cost', 'CostPerConversion', 
'CostPerConversionManyPerClick', 'Amount', 'Impressions', 'InvalidClicks', 
'InvalidClickRate', 'TotalConvValue', 'ConversionsManyPerClick', 
'SearchExactMatchImpressionShare', 'SearchImpressionShare', 
'SearchBudgetLostImpressionShare', 'ContentRankLostImpressionShare');
$selector-predicates[] =
new Predicate('Status', 'IN', array('ACTIVE', 'DELETED', 'PAUSED'));

// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition-selector = $selector;
$reportDefinition-reportName = 'CAMPAIGN performance report #' . time();
$reportDefinition-dateRangeType = 'LAST_7_DAYS';
$reportDefinition-reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
$reportDefinition-downloadFormat = 'CSV';
$reportDefinition-includeZeroImpressions = FALSE;

$options = array('version' = $adwordsVersion, 'returnMoneyInMicros' = 
FALSE);


try
{

$fileName = Complex-.$customerId..csv;
$path = dirname(__FILE__) . '/test/' . $fileName;

$user-SetClientCustomerId($customerId);

ReportUtils::DownloadReport($reportDefinition, $path, $user, $options );

printf(Report with name '%s' was downloaded to '%s'.\n,
$reportDefinition-reportName, $fileName);

} catch (Exception $e) {

print $e-getMessage() .  adwordsId - $customerId \n;

}

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




Push Campaign / Ads / Keywords using SSIS

2013-07-22 Thread Copier Man
I am creating a solution for an e-commerce company where we can run an 
overnight process to push new campaigns / ads and update / pause others 
depending on new items that come in or go out of stock. 

We want a hands-off solution where the API can be called automatically from 
our SQL 2008 server. I have read a couple of posts where this has been 
done, but there is no real documentation on this.
The idea I had was to compile the API interface project to run as an EXE or 
Service on the sql server. The SSIS job would run in two phases:

Phase 1: Renew the campaign / Ad data in our database using a dedicated 
stored procedure. 

Phase 2: Run the API EXE and loop through each campaign in the table 
created in (1) and batch push all ads / keywords for that campaign to 
Adwords account. If we encounter an item out of stock then use the API to 
pause that item (if that's possible through API). 

Phase 3: Repeat for next campaign in table

I did read in the documentation that there is a Service account you can 
apply for. Is this service account required for such an application? We 
have already registered for and received the standard API token. 

Thanks in advance,
Jason Lorenti
CopierSupplyStore

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: OAUTH_TOKEN_INVALID ruby client

2013-07-22 Thread Matthew Ledom
Thanks I would like to know the correct way to do this. I have not found an 
example the uses a refresh token that is stored in a db. I have seen the 
setup_oauth2.rb example where the refresh token is written to a file. 
Creating a new AdwordsApi::Api with the yml file and setting credentials 
does not seem to work.

On Monday, July 22, 2013 2:13:02 AM UTC-4, Takeshi Hagikura (AdWords API 
Team) wrote:

 Hi Matthew,

 Looks like the access_token (it expires in one hour) was issued at 
 2013-07-19 14:56:06 -0400.
 So at the time you made a request, the access token seemed to expire. 

 If you make the oauth token request in offline mode, the response should 
 contain refresh_token (that never expires). 
 Using that you can get a new access toke if the existing access token is 
 about to expire. 

 I'm asking the ruby library maintainer on how to make a offline oauth 
 token request in more detail. 

 Best,
 - Takeshi, AdWords API Team

 On Saturday, July 20, 2013 4:01:13 AM UTC+9, Matthew Ledom wrote:

 I keep receiving this error when I try to use a service. In this instance 
 I'm use the campaign service. I had everything working with ClientLogin and 
 found that Reports are only supported with OAUTH2 so I'm trying to get that 
 implemented.

 I have setup my app to retrieve a offline token via the browser redirect 
 work flow. I have also setup my adword model to request a new access token 
 using the provided refresh token from the previous step. I can take that 
 token and use it in the following code:

 api.authorize(:oauth2_token = token )

 where token:
 {access_token=ya29.AxxxXh6zvQ,
  token_type=Bearer,
  expires_in=3600,
  id_token=
   eyJhbxxxB3MO4}

 this returns:
 {:access_token=ya29.AHEJXh6zvQ,
  :refresh_token=nil,
  :issued_at=2013-07-19 14:56:06 -0400,
  :expires_in=3600,
  :id_token=
   eyJhbxxxLB3MO4}

 When I use this api object to call the campaign service I get the output 
 provided below. The reporting download is the final piece needed to 
 approval and I've searched all over this group and the web and can't find 
 anything that helps. I'm using the latest versions of the ruby gem: 
 google-ads-common (0.9.3) and google-adwords-api (0.9.3) 

 SOAP request: 
 https://adwords.google.com/api/adwords/cm/v201302/CampaignService
 Accept-Encoding: gzip,deflate, SOAPAction: get, User-Agent: bw_console 
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb), Authorization: Bearer ya29.AHxXh6zvQ, Content-Type: 
 text/xml;charset=UTF-8, Content-Length: 837
 ?xml version=1.0 encoding=UTF-8?env:Envelope xmlns:xsd=
 http://www.w3.org/2001/XMLSchema; xmlns:xsi=
 http://www.w3.org/2001/XMLSchema-instance; xmlns:wsdl=
 https://adwords.google.com/api/adwords/cm/v201302; xmlns:env=
 http://schemas.xmlsoap.org/soap/envelope/;env:Headerwsdl:RequestHeader 
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;userAgentconsole 
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb)/userAgentdeveloperTokenh6Axxxweg/developerToken/wsdl:RequestHeader/env:Headerenv:Bodyget
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302
 serviceSelectorfieldsId/fieldsfieldsName/fieldsfieldsStatus/fieldsorderingfieldName/fieldsortOrderASCENDING/sortOrder/ordering/serviceSelector/get/env:Body/env:Envelope
 HTTPI executes HTTP POST using the curb adapter
 SOAP response (status 500):
 soap:Envelope 
 xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;soap:HeaderResponseHeader
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;requestId0004e1e1b8b62a800aed881c1a3b/requestIdserviceNameCampaignService/serviceNamemethodNameget/methodNameoperations0/operationsresponseTime23/responseTimeunits0/units/ResponseHeader/soap:Headersoap:Bodysoap:Faultfaultcodesoap:Server/faultcodefaultstring[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; trigger:'lt;nullgt;']/faultstringdetailApiExceptionFault xmlns=
 https://adwords.google.com/api/adwords/cm/v201302;message[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; 
 trigger:'lt;nullgt;']/messageApplicationException.TypeApiException/ApplicationException.Typeerrors
  
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
 xsi:type=AuthenticationErrorfieldPath/fieldPathtriggerlt;nullgt;/triggererrorStringAuthenticationError.OAUTH_TOKEN_INVALID/errorStringApiError.TypeAuthenticationError/ApiError.TypereasonOAUTH_TOKEN_INVALID/reason/errors/ApiExceptionFault/detail/soap:Fault/soap:Body/soap:Envelope
 Content-Type: text/xml; charset=UTF-8, Date: Fri, 19 Jul 2013 18:44:49 
 GMT, Expires: Fri, 19 Jul 2013 18:44:49 GMT, Cache-Control: private, 
 max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, 
 X-XSS-Protection: 1; mode=block, Server: GSE, Transfer-Encoding: chunked
 AdwordsApi::V201302::CampaignService::ApiException: 
 [AuthenticationError.OAUTH_TOKEN_INVALID @ ; trigger:'null']

 Thank you to anyone that can help. I really need to get this integration 
 completed.



-- 
-- 

Help migration Adwords API 201209 to 201306

2013-07-22 Thread mcn . adwordz
 

I'm migrating from API 201209 to 201306 but have a lot of problems:

This is my old code


try {

 Boolean mail_flag = false;


  String clientLoginToken = new ClientLoginTokens(ClientLoginTokens.
ADWORDS_SERVICE).

   from(adwordsPropertyService.getEmail(),

   adwordsPropertyService.getPassword());


  // Construct an AdWordsSession.

 AdWordsSession session = new AdWordsSession.Builder().withDeveloperToken(
adwordsPropertyService.getDeveloperToken())

  .withUserAgent(adwordsPropertyService.getUseragent())

  .withEndpoint(https:/adwords.google.com/api/adwords/)

  .withEnvironment(Environment.PRODUCTION)

  .withClientLoginToken(clientLoginToken).build();


  AdWordsServices adWordsServices = new AdWordsServices();


  LinkedListCampaignCriterionOperation operations2 = 
newLinkedListCampaignCriterionOperation();

 ListInteger adwordsCode = zonaService.findAdwordsCode();

 // Get the ServicedAccountService.


  ManagedCustomerServiceInterface managedCustomerService = 
adWordsServices.get(session, ManagedCustomerServiceInterface.class);


  // Create selector.

 Selector selector = new Selector();

 selector.setFields(new String[]{Login, CustomerId,  Name});


  // Get results.

 ManagedCustomerPage page = managedCustomerService.get(selector);


  for (ManagedCustomer account : page.getEntries()) {

  logger.info(Client with email +account.getLogin()+ has ID 
+account.getCustomerId()+.);


  try{

  // Get the CampaignService.

  session.setClientCustomerId(account.getCustomerId().toString());


   CampaignServiceInterface campaignService = adWordsServices.get(session, 
CampaignServiceInterface.class);


   // Create selector.

  Selector selectorCampaign = new Selector();

  selectorCampaign.setFields(new String[] {Id, Name, Status});

  selectorCampaign.setOrdering(new OrderBy[] {new OrderBy(Name, SortOrder.
ASCENDING)});


  … … ...

  
First problem is when execute


 ManagedCustomerServiceInterface managedCustomerService = 
adWordsServices.get(session, ManagedCustomerServiceInterface.class);


that give me follow error:


 No group found for service: v201306.ManagedCustomerService


How can I resolve it?


Thanks a lot for your help.

Best regards,

Marco

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Search funnels report

2013-07-22 Thread David Torres (AdWords API Team)
Hi Alex,

I don't have you an update at this moment, but we definitively have it in 
our mind. Sorry, I just don't have more specifics to share.

Best,

- David Torres - AdWords API Team

On Thursday, July 18, 2013 10:10:42 AM UTC-4, Alex wrote:

 Hi,
 are there any plans to implement search funnels in the API? At the Google 
 Adwords API Workshops was said that you try to offer all features from the 
 Adwords Interface in the API. Search funnels are available in the Adwords 
 Interface for some time now, but there is no way to get the data over API.
 It seems like analytics API (which does return search funnel data) doesnt 
 return any IDs. Hence we can not match the data to Adwords-Data.


 Am Dienstag, 22. November 2011 21:27:56 UTC+1 schrieb Eric Koleda:

 Hi,

 Unfortunately there has been no change, and this data is not exposed via 
 the API.

 Best,
 - Eric



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Setting Content Bid Dimension with contentBidCriterionTypeGroup

2013-07-22 Thread alx
Hi Takeshi,

I guess I was not clear enough (regarding the first question) as it's not 
exactly what I was asking...

Basically, for Display campaigns only, I can specify what bid dimension 
should be used for particular ad group. Thus, I can set 
AdGroup.contentBidCriterionTypeGroup = CriterionTypeGroup.PLACEMENT // use 
placements bids
OR
AdGroup.contentBidCriterionTypeGroup = CriterionTypeGroup.KEYWORD   // use 
keywords bids
OR
etc...

As you confirmed AdGroup.contentBidCriterionTypeGroup is not mandatory when 
creating a new group and if it's not provided then Ad Group level default 
bids are used. However, once AdGroup.contentBidCriterionTypeGroup gets to 
be set to PLACEMENT/KEYWORD/etc.. there is no way to reset it back to null, 
so that Ad group level default bids would be used again. I can definitely 
can do in UI, but (unless I am missing something) it seems like I cannot do 
it with the API.

Thanks,
--Alex

 



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: updating from Cross Client Report Download (ReportUtils::RunAsyncReport) to ReportUtils::DownloadReport

2013-07-22 Thread iateadonut
Great,  I'm glad it worked for you.  I've used pcntl for a few things since.

Be careful installing pcntl on a server you share with others, though.  A 
runaway fork can easily take down your whole server.

On Monday, June 3, 2013 9:44:19 PM UTC-4, Bill Zhang wrote:

 Thank you iateadonut. Your solution help us reduce the synchronization 
 time dramatically. From 7~8 hours to within 10 minutes.

 Best regads,

 Bill

 On Friday, December 16, 2011 12:23:44 PM UTC+10, iateadonut wrote:

 Thanks,

 I did it with pcntl_fork.  (had a lot of different advice on this -
 yours turned out to be the best)

 The only problem is that it is consistently triggering Captcha's
 (except one doing them one at a time, which takes forever).  How do I
 deal with these?

 Here is the code.  I will post it in the other discussion groups where
 I gave advice pertinent on CrossClient Reports after I complete this
 taking care of Captcha's.

 ?php

 error_reporting(E_STRICT | E_ALL);

 // You can set the include path to src directory or reference
 // AdWordsUser.php directly via require_once.
 // $path = '/path/to/aw_api_php_lib/src';
 include('../definedb.php'); //
 include('./accountsArray.php'); //sets $adwordsAPIpath, uses $selector
 = new ServicedAccountSelector(); to make an array of all accounts
 //$accountsArray = array('4503399530');
 //print_r($accountsArray);exit;
 $path = $adwordsAPIpath.'/../../live_api2/src/';
 set_include_path(get_include_path() . PATH_SEPARATOR . $path);

 require_once 'Google/Api/Ads/AdWords/Lib/AdWordsUser.php';
 require_once 'Google/Api/Ads/AdWords/Util/ReportUtils.php';

   // Get AdWordsUser from credentials in ../auth.ini
   // relative to the AdWordsUser.php file's directory.
   $user = new AdWordsUser();
 //$user-SetClientId($customerId);

   // Log SOAP XML request and response.
   $user-LogDefaults();

   // Load ReportDefinitionService so that the required classes are
 available.
   $user-LoadService('ReportDefinitionService', 'v201109');

   // Create selector.
   $selector = new Selector();
 $selector-fields = array('ExternalCustomerId',
 'AccountDescriptiveName', 'PrimaryUserLogin', 'Date', 'Id', 'Name',
 'Impressions', 'Clicks', 'Cost');
   //$selector-predicates[] =
   //new Predicate('Status', 'IN', array('ENABLED', 'PAUSED'));

   // Create report definition.
   $reportDefinition = new ReportDefinition();
   $reportDefinition-selector = $selector;
   $reportDefinition-reportName = 'Campaign performance report #' .
 time();
   $reportDefinition-dateRangeType = 'LAST_7_DAYS';
   $reportDefinition-reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
   $reportDefinition-downloadFormat = 'CSV';
   $reportDefinition-includeZeroImpressions = FALSE;

   $options = array('version' = 'v201109', 'returnMoneyInMicros' =
 FALSE);

 $pids = array();

 $j = 0;

 for ($i=0; $icount($accountsArray); $i++) {

 if($j==10) { echo $j. ---\n; $j=0; }

 $pids[$i] = pcntl_fork();

   if(!$pids[$i]) {

 // child process

 try {
   // Get AdWordsUser from credentials in ../auth.ini
   // relative to the AdWordsUser.php file's directory.

 $customerId = $accountsArray[$i];

 $user-SetClientId($customerId);

   $fileName = 7days-.$customerId..csv;
   $path = dirname(__FILE__) . '/../reports/7days/' . $fileName;

   ReportUtils::DownloadReport($reportDefinition, $path, $user,
 $options);

   printf(Report with name '%s' was downloaded to '%s'.\n,
   $reportDefinition-reportName, $fileName);

   } catch (Exception $e) {
   print $e-getMessage();
 }

 exit();
   }
 $j++;
 }


 On Dec 15, 9:55 am, Kevin Winter kevin.win...@google.com wrote:
  Hi,
I'm not very familiar with PHP, but I believe one suggested approach 
 is
  to use pcntl_fork to spawn extra processes and handle multiple 
 concurrent
  report downloads that way:
 http://php.net/manual/en/function.pcntl-fork.php
 
  - Kevin Winter
  AdWords API Team
 
 
 
 
 
 
 
  On Wednesday, December 14, 2011 11:33:59 PM UTC-5, iateadonut wrote:
 
   How do you suggest requesting 10 reports at a time (from an array of
   300 customerId's) using php?  or is this impossible?
 
   On Dec 12, 12:33 pm, Kevin Winter kevin@google.com wrote:
Hi,
  Given that AdHoc reports cost 0 units, the cost of requesting the
   report
to you as a developer is the CPU cycles (and IO) required to 
 request it.
 The cost to us from a server perspective is a bit more.  However, 
 if you
as a developer don't know at report time whether or not there is 
 data to
request, it makes sense to request it anyway.  Yes, go ahead and 
 request
the report anyway.
 
- Kevin Winter
AdWords API Team





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

Re: [Python] ReportDownloader seems to be not working

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Michael, 

Thanks for the report. 
Do you mind filing a issue on the issue 
trackerhttps://code.google.com/p/google-api-ads-python/issues/list
?

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 11:54:54 PM UTC+9, Michael Samoylov wrote:

 Hi.

 I can't use download reports with the Python client. I'm using with 
 adwords-15.9.0 with v201306. It always faild with: 

 headers['Authorization'] = 'Bearer ' + self.access_token
 TypeError: cannot concatenate 'str' and 'NoneType' objects

 Example scripts 
 get_report_fields.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/get_report_fields.py
  and 
 get_campaign_stats.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/get_campaign_stats.py
  work 
 fine but 
 download_criteria_report.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/download_criteria_report.py
  and 
 download_criteria_report_with_awql.pyhttps://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/adspygoogle/adwords/v201306/reporting/download_criteria_report_with_awql.py
  fail 
 with the same error.

 Any ideas?

 Thanks,
 Mike


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi,

Please see this common error 
pagehttps://developers.google.com/adwords/api/docs/common-errors?hl=en#ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH
. 
For the clientCustomerId header, please make sure you are requesting the 
clientCustomerId for a client account not a MCC account.

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 5:13:55 PM UTC+9, DEEPAK KUMAR wrote:

 Hello All 

 I am trying to download Report Using Google adwords api.
 When I Run to the below given code it gives me error 
 ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector 
 Please Help me.

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Web.UI;
 using System.Web.UI.WebControls;
 using System.IO;
 using System.Diagnostics;
 using System.Net;

 public partial class _Default : System.Web.UI.Page 
 {
 protected void Page_Load(object sender, EventArgs e)
 {

 }
 public bool DownloadReportDefinition(string reportDefinitionXml, 
 string authToken, string clientCustomerId, string developerToken, string 
 filePath, bool downloadInMicros)
 {
 Uri downloadUrl = new Uri(
 https://adwords.google.com/api/adwords/reportdownload/v201306;);

 WebRequest request = HttpWebRequest.Create(downloadUrl);
 request.Headers.Add(clientCustomerId:  + clientCustomerId);
 request.Headers.Add(developerToken:  + developerToken);
 request.Headers.Add(Authorization: GoogleLogin auth= + 
 authToken);
 request.Headers.Add(returnMoneyInMicros:  + 
 downloadInMicros.ToString().ToLower());

 request.Method = POST;
 request.ContentType = application/x-www-form-urlencoded;
 using (StreamWriter writer = new 
 StreamWriter(request.GetRequestStream()))
 {
 writer.Write(__rdxml= + 
 HttpUtility.UrlEncode(reportDefinitionXml));
 }

 WebResponse response = null;
 bool success = false;
 try
 {
 response = request.GetResponse();   
 success = true;
 }
 catch (WebException ex)
 {
 // The server will return an error code other than 200 if 
 something goes wrong. The actual reason for
 // failure can be found by reading the response.
 response = ex.Response;
 
 }
  DownloadReportToFile(filePath, response);
  return success;
 }

 private static void DownloadReportToFile(string filePath, WebResponse 
 response)
 {
 FileStream outputStream = File.Create(filePath);
 using (Stream responseStream = response.GetResponseStream())
 {
 CopyStream(responseStream, outputStream);
 }
 outputStream.Close();
 }

 private static void CopyStream(Stream sourceStream, Stream 
 targetStream)
 {
 int bufferSize = 2  20;
 byte[] buffer = new byte[bufferSize];

 int bytesRead = 0;
 while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
 {
 targetStream.Write(buffer, 0, bytesRead);
 }
 }
 protected void btnDownloadRepot_Click(object sender, EventArgs e)
 {
 //
 string reportDefination = ;
 reportDefination = reportDefinition;
 reportDefination = reportDefination + selector;
 reportDefination = reportDefination + fieldsId/fields;
 reportDefination = reportDefination + fieldsDate/fields;
 reportDefination = reportDefination + fieldsAdGroupId/fields;
 reportDefination = reportDefination + 
 fieldsImpressions/fields;
 reportDefination = reportDefination + fieldsClicks/fields;
 reportDefination = reportDefination + fieldsCost/fields;
 reportDefination = reportDefination + 
 fieldsConversions/fields;
 reportDefination = reportDefination + 
 fieldsConversionValue/fields;
 reportDefination = reportDefination + 
 fieldsAveragePosition/fields;
 reportDefination = reportDefination + dateRange;
 reportDefination = reportDefination + min20130701/min;
 reportDefination = reportDefination + max20130718/max;
 reportDefination = reportDefination + /dateRange;
 reportDefination = reportDefination + /selector;
 reportDefination = reportDefination + reportNameAD PERFORMANCE 
 REPORT/reportName;
 reportDefination = reportDefination + 
 reportTypeAD_PERFORMANCE_REPORT/reportType;
 reportDefination = reportDefination + 
 dateRangeTypeCUSTOM_DATE/dateRangeType;
 reportDefination = reportDefination + 
 downloadFormatXML/downloadFormat;
 reportDefination = reportDefination + /reportDefinition;
 string authetoken = ;
 authetoken = xyz;

 DownloadReportDefinition(reportDefination, authetoken, 123, 
 abc, C:\\Users\\deepak.singh\\Documents, true);

 }
 }


 Thanks  Warm Regards
 Deepak Singh


-- 
-- 

Re: OAUTH_TOKEN_INVALID ruby client

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Looks like you are already talking with the ruby library maintainer in 
another mail thread. 
Please update the thread about it. 

Best,
- Takeshi, AdWords API Team

On Tuesday, July 23, 2013 2:53:29 AM UTC+9, Matthew Ledom wrote:

 Thanks I would like to know the correct way to do this. I have not found 
 an example the uses a refresh token that is stored in a db. I have seen the 
 setup_oauth2.rb example where the refresh token is written to a file. 
 Creating a new AdwordsApi::Api with the yml file and setting credentials 
 does not seem to work.

 On Monday, July 22, 2013 2:13:02 AM UTC-4, Takeshi Hagikura (AdWords API 
 Team) wrote:

 Hi Matthew,

 Looks like the access_token (it expires in one hour) was issued at 
 2013-07-19 14:56:06 -0400.
 So at the time you made a request, the access token seemed to expire. 

 If you make the oauth token request in offline mode, the response should 
 contain refresh_token (that never expires). 
 Using that you can get a new access toke if the existing access token is 
 about to expire. 

 I'm asking the ruby library maintainer on how to make a offline oauth 
 token request in more detail. 

 Best,
 - Takeshi, AdWords API Team

 On Saturday, July 20, 2013 4:01:13 AM UTC+9, Matthew Ledom wrote:

 I keep receiving this error when I try to use a service. In this 
 instance I'm use the campaign service. I had everything working with 
 ClientLogin and found that Reports are only supported with OAUTH2 so I'm 
 trying to get that implemented.

 I have setup my app to retrieve a offline token via the browser redirect 
 work flow. I have also setup my adword model to request a new access token 
 using the provided refresh token from the previous step. I can take that 
 token and use it in the following code:

 api.authorize(:oauth2_token = token )

 where token:
 {access_token=ya29.AxxxXh6zvQ,
  token_type=Bearer,
  expires_in=3600,
  id_token=
   eyJhbxxxB3MO4}

 this returns:
 {:access_token=ya29.AHEJXh6zvQ,
  :refresh_token=nil,
  :issued_at=2013-07-19 14:56:06 -0400,
  :expires_in=3600,
  :id_token=
   eyJhbxxxLB3MO4}

 When I use this api object to call the campaign service I get the output 
 provided below. The reporting download is the final piece needed to 
 approval and I've searched all over this group and the web and can't find 
 anything that helps. I'm using the latest versions of the ruby gem: 
 google-ads-common (0.9.3) and google-adwords-api (0.9.3) 

 SOAP request: 
 https://adwords.google.com/api/adwords/cm/v201302/CampaignService
 Accept-Encoding: gzip,deflate, SOAPAction: get, User-Agent: bw_console 
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb), Authorization: Bearer ya29.AHxXh6zvQ, Content-Type: 
 text/xml;charset=UTF-8, Content-Length: 837
 ?xml version=1.0 encoding=UTF-8?env:Envelope xmlns:xsd=
 http://www.w3.org/2001/XMLSchema; xmlns:xsi=
 http://www.w3.org/2001/XMLSchema-instance; xmlns:wsdl=
 https://adwords.google.com/api/adwords/cm/v201302; xmlns:env=
 http://schemas.xmlsoap.org/soap/envelope/;env:Headerwsdl:RequestHeader 
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;userAgentconsole
  
 (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
 curb)/userAgentdeveloperTokenh6Axxxweg/developerToken/wsdl:RequestHeader/env:Headerenv:Bodyget
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302
 serviceSelectorfieldsId/fieldsfieldsName/fieldsfieldsStatus/fieldsorderingfieldName/fieldsortOrderASCENDING/sortOrder/ordering/serviceSelector/get/env:Body/env:Envelope
 HTTPI executes HTTP POST using the curb adapter
 SOAP response (status 500):
 soap:Envelope 
 xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;soap:HeaderResponseHeader
  
 xmlns=https://adwords.google.com/api/adwords/cm/v201302;requestId0004e1e1b8b62a800aed881c1a3b/requestIdserviceNameCampaignService/serviceNamemethodNameget/methodNameoperations0/operationsresponseTime23/responseTimeunits0/units/ResponseHeader/soap:Headersoap:Bodysoap:Faultfaultcodesoap:Server/faultcodefaultstring[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; trigger:'lt;nullgt;']/faultstringdetailApiExceptionFault xmlns=
 https://adwords.google.com/api/adwords/cm/v201302;message[AuthenticationError.OAUTH_TOKEN_INVALID
  
 @ ; 
 trigger:'lt;nullgt;']/messageApplicationException.TypeApiException/ApplicationException.Typeerrors
  
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
 xsi:type=AuthenticationErrorfieldPath/fieldPathtriggerlt;nullgt;/triggererrorStringAuthenticationError.OAUTH_TOKEN_INVALID/errorStringApiError.TypeAuthenticationError/ApiError.TypereasonOAUTH_TOKEN_INVALID/reason/errors/ApiExceptionFault/detail/soap:Fault/soap:Body/soap:Envelope
 Content-Type: text/xml; charset=UTF-8, Date: Fri, 19 Jul 2013 18:44:49 
 GMT, Expires: Fri, 19 Jul 2013 18:44:49 GMT, Cache-Control: private, 
 max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, 
 X-XSS-Protection: 1; mode=block, Server: GSE, 

Re: In Placement Performance Report V201302 how can I identify between Automatic placements and managed?

2013-07-22 Thread Taher Dhilawala
Hi Takeshi,

Any updates on the fix? We are using V201209 in our code to get placements 
with zero impressions. As V201209 has sunset yesterday (22 July 2013) we 
need the fix on V201302 ASAP. Help appreciated.

On Thursday, June 20, 2013 1:30:39 PM UTC+5:30, Takeshi Hagikura (AdWords 
API Team) wrote:

 Hi Taher,

  We're fixing the issue that prevents zero impression rows in placement 
 performance report. 
 We're still working on it. 

 @Sanju
  I am facing the same issue related to PLACEMENT_PERFORMANCE_**REPORT using 
 V201302 version where am unable to see any rows in the downloaded report.
  Is there any update on fixing the issue.
 I believe it's a different issue on the one about prevent zero impression. 
 I guess there are now rows that match your report definition.

 Best,
 - Takeshi, AdWords API Team

 On Wednesday, June 19, 2013 6:35:21 PM UTC+9, Taher Dhilawala wrote:

 Hi Takeshi,

 Any updates on this ?

 We're fixing the issue that prevents zero impression rows in placement 
 performance report. 



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: ORDER BY Clicks DESC Returns INVALID_ORDER_BY_CLAUSE - Bug

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Marcin,

Thanks for the report. 
I'm looking into this. I'm going to update the thread for updates.

Best,
- Takeshi, AdWords API Team

On Tuesday, July 23, 2013 2:17:32 AM UTC+9, Marcin Rosinski wrote:


 Hi guys, there seems to be a bug regarding the Reporting AWQL endpoint.


 What steps will reproduce the problem?
 Run query:
 SELECT Query, MatchType, Clicks, Cost, Impressions FROM 
 SEARCH_QUERY_PERFORMANCE_REPORT DURING 20130621,20130721 ORDER BY Clicks DESC

 Query without ORDER BY Clicks DESC works all OK.
 Please can you advise.


 P.S.

 Initially I have reported it here - 
 https://code.google.com/p/google-api-adwords-php/issues/detail?id=103 but 
 been asked to move it under this forum.  



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