Re: Error in PHP code example
On Monday, November 14, 2011, Eric Koleda elucidated thus: Hi Joshua, Have you created an instance of the ServicedAccountService at that point? These classes aren't loaded until the service has been created, to avoid name conflicts. You can alternatively use the new LoadService() method, which will load the classes but not create an instance of the service: http://google-api-adwords-php.googlecode.com/svn/trunk/docs/GoogleApi AdsAdWords/Lib/AdWordsUser.html#LoadService Best, - Eric Koleda, AdWords API Team No, I had not. Thanks for pointing that out. After including the source code, I assumed all classes were available. Also, I had read in the documentation that service-specific selectors has been replaced with generic selectors, thus I assumed it was natural to get an error. Thanks for the clarification. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Error in PHP code example
On page http://code.google.com/p/google%2dapi%2dadwords%2dphp/source/browse/trunk/examples/v201109/GetAccountHierarchy.php#79 and following, it says this: // Create selector. $selector = new ServicedAccountSelector(); // To get the links paging must be disabled. $selector-enablePaging = FALSE; But, trying to run that gives me: PHP Fatal error: Class 'ServicedAccountSelector' not found in /home/jkugler/crc/sites/crcrm.com/tools/account_test.php on line 63 However, making that a standard selector seems to work fine (at least it returns results). Yes, this is using v201109. Something wrong with my code install, or in the example? j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: It's 2011, please make a REST API.
On Friday 10 June 2011, Reed elucidated thus: The reason that the adWords SOAP interface, and the usefulness of the various client libraries in trying to abstract out some of the intricacies of the interface, is because AdWords itself is in fact a complex beast. Some parts are very simple, especially those operations that are GETs, and so I can see your point about SOAP seeming to be overkill. But many operations are not so simple, and I cannot imagine easily implementing them as REST services. What if I want to create 1000 ads - that's one heck of a REST call! I'm not sure I see it being any bigger of a REST call than then creation of 1,000 ads via a SOAP call. A SOAP bulk call with 1,000 ads, with all their name space declarations, open/close tags, etc. would actually be a must larger post operation than a JSON list of 1,000 objects (ads) and their members. REST doesn't necessarily means small payloads, it's just a different way of representing services available. For example: Microsoft AdCenter has a REST API...that uses XML payloads! :) But, by appending format=json to your query string, you can use JSON payloads that have a somewhat similar structure (lists and dicts/hashes) to the XML payloads. It's actually a fairly elegant system. The stated need to be able to more easily build a JavaScript interface using REST rather than SOAP helps put this request in focus, because it distinguishes the desired use of the api from that of the backend production systems that many of us have been building to service large numbers of accounts with large numbers of keywords, ads, etc. Even for back-end work, a REST/JSON API would be simpler...for me, anyway. :) No intention to build a JS client at the moment. I still want to program in Python...I just don't want to deal with SOAP. :) Consuming the MS AdCenter REST services has been much easier than dealing with AdCenter's or AdWord's SOAP API. Just my thoughts. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: It's 2011, please make a REST API.
On Tuesday 07 June 2011, Anash P. Oommen elucidated thus: Hi Ryan, Joshua, Could you share your thoughts on why you prefer a REST API over SOAP API ? I could share them with the AdWords team. I would say the greatest advantages would be simplicity and breath of application. 1. Simplicity Even with a good SOAP library, I have found assembling objects for SOAP calls to be tedious and at times trial-and-error. REST/JSON calls would be easy (for me anyway) to set up: Python object hierarchies translate very easily to/from JSON. Right now, there is a HUGE amount of code dedicate to creating interface libraries for the AdWords API. With a REST/JSON interface, this code could be minimized. SOAP, while powerful, is *incredibly* complex, causing confusion for even those that say they are experts in the field. REST keeps just about all that power while reducing the complexity to URIs and verbs, with a JSON (in my idea) payload. 2. Breadth of application Right now, a client application written in PHP, Python, Perl, Java, etc. must be used to query AdWords. Then, this client application can push the data to a web page. A REST/JSON interface would allow a purely JavaScript web page to be built that interacts with AdWords API. Those are my initial thoughts. I'll post more if I think of them. Thanks for asking for feedback! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: It's 2011, please make a REST API.
On Friday 27 May 2011, Ryan Romanchuk elucidated thus: Why are you doing this to developers? :( While I would argue that with the right libraries, SOAP isn't that painful (Suds on Python in my case), I would still add my voice to those that would desire to see a REST/JSON interface. That would be just spiffy! :) To those of you hand-constructing XML to send as your request: Stop it. Just stop it. :) j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: I need a bare bones example to use the python adwords adspygoogle v13 for AccountService
On Tuesday 19 October 2010, Monty808 elucidated thus: When I run the code I get this error. adspygoogle.common.Errors.ValidationError: The version 'v201008' is not compatible with 'AccountService'. AccountService is still a v13 service. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com - Fairbanks, AK PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Ruby vs PHP vs Other Programming Language
On Thursday 12 August 2010, phpguy elucidated thus: So I've been building out the API with PHP but I'm having to do a massive upload (200,000,000 keywords broken into adgroups). It's currently taking too long using PHP and I wanted to see if there was either: 1. A quicker way other than using SOAP (if that's the hold up) The public API you see is it. 2. A quicker programming language and which is rated to be the fastest for the Google API (any data comparison is appreciated [e.g. I could only add 1,000/hr adgroups with keywords in PHP but in Ruby I could add 1,500 in an hour]) You're major wait time is going to be the internet connection and the response time of the Google servers. If you're looking at speeding up your dev time, I'd recommend Python...but I'm a bit biased. :) If you want to speed things up, I'd look at threading and/or multiple processes. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: What is the latest version of services for the sandbox acccout
On Wednesday 04 August 2010, AdWords API Advisor elucidated thus: Hi, The server url for v200909 services should be https://adwords-sandbox.google.com/api/adwords/cm/v200909/..., not https://sandbox.google.com/api/adwords/cm/v200909/... Once you fix it, you can download the wsdls without any issues. Then please correct the documentation here: http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html Sandbox WSDL Locations The sandbox WSDL URLs are identical to their production counterparts, except they use the sandbox.google.com domain instead of adwords.google.com. For example, the sandbox version of the v12 CampaignService is located at the following URL: https://sandbox.google.com/api/adwords/v12/CampaignService?wsdl And that page has no 200909 version and does not point to any 200909 version, leading one to assume the sandbox URL is as given above. Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Sandbox troubles?
On Tuesday 03 August 2010, knuzich elucidated thus: give me please a link to wsdl for sandbox .. I have already two days looking for ^)) http://code.google.com/query/#p=adwordsq=adwords%20sandbox%202009 First link. And from that page, this link: http://adwordsapi.blogspot.com/2009/03/adwords-api-sandbox-best-practices.html Also (similar to above link, but laid out a little better): http://code.google.com/apis/adwords/articles/adwords_api_sandbox_best_practices.html j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: What is the latest version of services for the sandbox acccout
On Tuesday 03 August 2010, knuzich elucidated thus: for example for v12 https://sandbox.google.com/api/adwords/v12/CampaignService?wsdl for v13 https://sandbox.google.com/api/adwords/v13/CampaignService?wsdl If these versions are obsolete, what should I use? http://code.google.com/apis/adwords/v2009/docs/start.html j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: What is the latest version of services for the sandbox acccout
On Tuesday 03 August 2010, knuzich elucidated thus: thanks, but how can I see wsdl for this service? it would be nice to know the full path.. The documentation for each service (e.g. the campaign service) lists the path to the WSDL: http://code.google.com/apis/adwords/v2009/docs/reference-v200909/CampaignService.html shows the path to be: https://adwords.google.com/api/adwords/cm/v200909/CampaignService?wsdl Per the documentation here: http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbox.html You simply replace 'adwords.google.com' with 'sandbox.google.com' for the sandbox WSDL. j On Aug 3, 10:29 pm, Joshua J. Kugler jos...@eeinternet.com wrote: On Tuesday 03 August 2010, knuzich elucidated thus: for example for v12 https://sandbox.google.com/api/adwords/v12/CampaignService?wsdl for v13 https://sandbox.google.com/api/adwords/v13/CampaignService?wsdl If these versions are obsolete, what should I use? http://code.google.com/apis/adwords/v2009/docs/start.html j -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Changing client id on fly
On Wednesday 28 July 2010, phpguy elucidated thus: Hi, I wanted to see if it was possible to create a script to run through a certain number of adgroups/campaigns and then switch client ids while in the script and continue? We have an MCC account but just wanted to know if this was possible. Thanks for your help! There should be a method in the API to set the client e-mail. setClientEmail I think is the call. You *might* have to get the service again to use the new client e-mail. That is, a call like: $adwordsUserObject-SetClientId($clientEmail); $campaignService = $adwordsUserObject-GetCampaignService('v200909'); Hope that helps. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Changing client id on fly
On Wednesday 28 July 2010, Chris Wilson elucidated thus: Joshua, Thanks a bunch for the help! I'll check into that now... Glad to help! I answered with the PHP code due to your 'phpguy' alias. I much prefer my home-grown Python API myself. :) Nothing fancy, just a thin wrapper around the SOAP calls using Suds (https://fedorahosted.org/suds/). Much simpler for what I do than the Google Python API. j Have a good one! On Wed, Jul 28, 2010 at 11:38 AM, Joshua J. Kugler jos...@eeinternet.comwrote: On Wednesday 28 July 2010, phpguy elucidated thus: Hi, I wanted to see if it was possible to create a script to run through a certain number of adgroups/campaigns and then switch client ids while in the script and continue? We have an MCC account but just wanted to know if this was possible. Thanks for your help! There should be a method in the API to set the client e-mail. setClientEmail I think is the call. You *might* have to get the service again to use the new client e-mail. That is, a call like: $adwordsUserObject-SetClientId($clientEmail); $campaignService = $adwordsUserObject-GetCampaignService('v200909'); Hope that helps. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: how do I get a criterionid?
On Thursday 15 July 2010, axum elucidated thus: i am having a brain freeze here I need to use the updateadgroupcriterion service. And I am at a lost on how to get the criterionid. ga.AdGroupCriterion.get(...) should be what you want. you can filter by campaign, group, etc. Docs here: http://code.google.com/apis/adwords/v2009/docs/reference/AdGroupAdService.html and http://code.google.com/apis/adwords/v2009/docs/reference/AdGroupAdService.AdGroupAdSelector.html j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
What *is* the system limit?
So, I've been hit with this web fault: SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED @ The docs say: Indicates that the number of entries in the request or response exceeds the system limit. I know I can using paging to get chunks at a time, and that is what I intend to do. But I can't find anywhere in the docs that defines *what* the system limit is. Can an AdWords advisor point that out so I know the maximum size for my paging chunks? Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: authentication
On Monday 05 July 2010, chris h elucidated thus: Or if ClientLogin is all that will be supported in the sort-term, could the token live time be made at least a month? On Jul 5, 1:28 pm, chris h back5...@gmail.com wrote: Hi, I'm looking for insights into when OAuth will be supported for authentication in the AdWords API. Is there a reason authentication proves a problem? In our code, we simply catch the bad token exception and re-auth and then continue on. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: V2010 API SOPA/XML Examples?
On Tuesday 08 June 2010, Mike Keen elucidated thus: @Joshua It's similar if you use the Ruby client library, which I am very against. I dislike the bulk of the library and I'd rather just make the request with simple SOAP templates. I feel your pain. :) I took one look at the Python client and ran away...quickly. I created my own light-weight wrapper around the GA services uses Suds (https://fedorahosted.org/suds/) and it has proven to be very friendly to use. If you can find a good Ruby SOAP library, it might be worth creating your own wrapper...I just can't imagine dealing directly with XML. :) j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: V2010 API SOPA/XML Examples?
On Monday 07 June 2010, Reed elucidated thus: Hope this helps, -reed soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/ envelope/ xmlns:v20=https://adwords.google.com/api/adwords/cm/ v200909 soapenv:Header v20:RequestHeader v20:authTokenxyzzy/v20:authToken v20:developerTokenplough/v20:developerToken v20:userAgentV2009 Getall Campaigns/ v20:userAgent /v20:RequestHeader /soapenv:Header soapenv:Body v20:get v20:selector v20:ids/v20:ids v20:campaignStatuses/v20:campaignStatuses /v20:selector /v20:get /soapenv:Body /soapenv:Envelope I use this in my Python code: resp = ga.Campaign.get(' ') And the empty string is translated into an empty selector. Of course, that's my API implemented on top of Suds, that's not google's API. I would assume passing an empty selector to the Ruby get() call would return all your results. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Error with Example Ruby Script
On Thursday 20 May 2010, search test elucidated thus: I ran an example ruby script, get_related_keywords.rb and got following error: [v200909]$ ruby get_related_keywords.rb /ruby/gems/gems/httpclient-2.1.5.2/lib/httpclient/ssl_config.rb:348: [BUG] Segmentation fault ruby 1.8.6 (2007-09-23) [i686-linux] Aborted My related gems are: adwords4r (19.0.0) httpclient (2.1.5.2) rubygems-update (1.3.7, 1.3.6) soap4r (1.5.8) sources (0.0.1) Apparently there is a bug in your distribution's HTTP/SSL files, or in the ruby executable itself. I would talk to your distribution's support about this. the Segmentation fault in '/ruby/gems/gems/httpclient-2.1.5.2/lib/httpclient/ssl_config.rb' indicates it is a bug in Ruby, and doesn't have anything to do with the GA API. Hope that helps. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: toXML();
On Wednesday 21 April 2010, Sythus elucidated thus: Hi, i was using the Apillity to work with my Adwords accounts. Now i have to migrate my Application to v200909 of the Google Adwords PHP API. My Problem is that i was using the $campaign-toXML(); function for my application. Is there any function in the new Api which give me the complete campaign informations like toXML() did it before? I need it as a xml response. And if not - is there any other possiblity to get the whole account informations about campaigns and adgroups? All that information is available via the object returned. What were you able to glean from the XML that you could not get from the response object? j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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
AdWords API Re: Api Error Parser
You didn't say what language you are using, but that looks like PHP. That is a PHP object, so you should be able to do treat it as a standard PHP array. No need to parse it. j On Thursday 15 April 2010, jakov34 elucidated thus: Hi, Is there any example, how to parse AdWords API Error. Lets say that I have error like this: [message:protected] = [BiddingError.NON_POSITIVE_BID @ operations[0].operand.bids.keywordMaxCpc] [string:private] = [code:protected] = 0 [file:protected] = ./src/Google/Api/Ads/Common/Lib/ AdsSoapClient.php [line:protected] = 160 [trace:private] = Array ( [0] = Array ( [file] = ./src/Google/Api/Ads/Common/Lib/ AdsSoapClient.php [line] = 160 [function] = __soapCall [class] = SoapClient [type] = - [args] = Array ( [0] = mutate [1] = Array etc... Bid Object [microAmount] = asdfasdf etc... Well, I see what is an error, and which operand causes an error. But is there any parser for this error, or I have to write my own functions.. If is, can someone provide me an example, how to do it.. Thanks a lot!!! Jakov -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
AdWords API Re: Caught between a rock and a hard place?
As stated in the blog (and many times on this list) you can continue to use the v13 services that have not yet been ported to v200909, even after the initial sunset. See: http://adwordsapi.blogspot.com/2010/04/14-days-left-to-migrate-to-v2009.html The only v13 services that will remain accessible are AccountService, ReportService, and TrafficEstimatorService. From http://adwordsapi.blogspot.com/2010/02/60-days-left-to-migrate-to-v200909.html These three v13 services will continue to be accessible until the same functionality is available in the new AdWords API later this year: AccountService TrafficEstimatorService ReportService Don't worry, we won't sunset these services until their replacements have been available for at least four months. j On Wednesday 14 April 2010, Justin elucidated thus: Hi Guys, I have been using the Adwords v13 API for some time now to pull reports. I use CampaignService to get a list of all active campaigns for a client. I then use the ReportService to pull a tailored report for each campaign. Having read the documentation online I see that there is still no alternative in v2009 for ReportService? The sunset is in a week is it not? That is not leaving us much time to migrate our code? The Campaign service method getAllAdWordsCampaigns() is also gone in v2009. How do we now query for a list of campaigns. What would be really helpful would be to update the v13 documentation, and point to alternative functions or workarounds in a part of the article that relate to v2009. Thanks in advance, Justin -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
AdWords API Re: How can I migrate if there will be no KeywordToolService and SiteSuggestionService?
On Friday 09 April 2010, Andy Precise elucidated thus: I've had to switch from using KeywordToolService to using TargetingIdeaService instead. Can't comment on the other one. Good luck ! On Apr 9, 12:43 am, aofro...@hotmail.com aofro...@hotmail.com wrote: How can I migrate if there will be no KeywordToolService and SiteSuggestionService? You can still use the v13 services that have not been migrated, even after the other v13 services have been discontinued. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
Re: AdWords API AuthTokenException: Login failed
On Friday 09 April 2010, SW elucidated thus: Reusing authentication seemed to have helped. Surprisingly, documentation doesn't state this. From: http://code.google.com/apis/adwords/v2009/docs/headers.html An authentication token is valid for about a week after you acquire it; when it expires, use ClientLogin to retrieve a new one. Which implies you can cache it and reuse it. j -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
AdWords API Re: AdWords Downtime: April 10th, 10am-2pm PDT
On Thursday 08 April 2010, Zweitze elucidated thus: 3. What is the difference in hours between PDT and UTC (Coordinated Universal Time, world standard time)? I really have no idea if and when summer time kicks in at that time zone. PDT is 7 hours behind UTC (i.e. UTC-7), PST is 8 hours behind UTC (i.e. UTC-8). UTC never has daylight savings or summer time. This should help you: http://www.timeanddate.com/worldclock/meetingtime.html?month=4day=10year=2010p1=0p2=217p3=-1p4=-1 j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
AdWords API Re: The login request used a username or password that is not recognized.
On Wednesday 31 March 2010, Dave elucidated thus: I started using the aw_api_php_lib_2.0.1 client library w/ v2009 API today and also ran into a rate limit. It produced the same error and appears to only last for a few minutes. I don't use multiple threads on my project but some of the operations are quick and I am processing without any delay implemented. I would be curious what the actual rate limit is, as bulk operations aren't going to work well for my purpose. I don't mind adding a delay I just don't want to guess if at all possible. Just so you know, you don't have to hit the Client Login API for each request. You can cache the auth cookie, and then only get a new one when you get back the error AuthenticationError.GOOGLE_ACCOUNT_COOKIE_INVALID If it is in fact a rate limit issue with the Login API, then caching the auth cookie should solve the problem. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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
AdWords API Re: getClientAccounts() returns an invalid e-mail?
Thanks again for looking at this. The e-mail that throws that error *does* appear in the list of client e-mails when I log in to the web interface as the same user that I use to connect to the API, so it is there. Very odd. Thank you for forwarding it on! j On Wednesday 31 March 2010, AdWords API Advisor elucidated thus: Hi Joshua, Thank you for the debugging information. It's not clear why that client email is being returned, as it doesn't appear to be used on that account anymore. I've forwarded your information to the core engineering team for a more thorough analysis and I'll let you know when I have more information. Best, - Eric On Mar 29, 2:44 pm, Joshua J. Kugler jos...@eeinternet.com wrote: Certainly! The request ID that generates the list of client e-mails is: b6f9c3726bd140f3a16e8c2d2e00c818 This list includes the e-mail address I sent in the header of the next request. As I stated, other e-mail addresses from that list worked fine. However, on the failed request, I am not getting a request ID, only a SOAP fault: soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body soapenv:Fault faultcodesoapenv:Server.userException/faultcode faultstringInvalid client email specified./faultstring detail ns1:fault xmlns:ns1=https://adwords.google.com/api/adwords/v13; ns1:code9/ns1:code ns1:messageInvalid client email specified./ns1:message ns1:triggerrealresults...@gmail.com/ns1:trigger /ns1:fault /detail /soapenv:Fault /soapenv:Body /soapenv:Envelope Please let me know if there is anything else I can get for your regarding this error. Thanks! j On Friday 26 March 2010, AdWords API Advisor elucidated thus: Hi Joshua, Can you provide the requestId of the getClientAccounts() and getAccountInfo() requests the demonstrate this behavior? Best, - Eric Koleda, AdWords API Team On Mar 25, 3:35 pm, Joshua J. Kugler jos...@eeinternet.com wrote: I have code like so: for account in ga.Account.getClientAccounts(): # 'account' is an e-mail in the list of e-mails returned print account ga.set_client_email(account) # Sets the client e-mail header try: client = ga.Account.getAccountInfo() print client.descriptiveName This code works, but there is at least one e-mail that returns the error 'Invalid client email specified.' even though it is an e-mail returned by getClientAccounts() *AND* this e-mail *is* in the list of clients when I log in to the web interface. Any idea how to trouble shoot this? Thanks! j -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe, reply using remove me as the subject.
AdWords API Re: Unmarshalling Error: ParseError
On Tuesday 30 March 2010, John Bliss elucidated thus: Lord. I forgot: xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; ...in my soapenv:Envelope tag. I really hope that this short, embarrassing thread helps the next person NOT spend seven hours trying to fix this problem. Pure curiosity: Why are you assembling the XML yourself, instead of using a provided client library, or using the WSDL to generate objects programatically (or at run time). Personally, I'm using Python Suds, which has proven to be a GREAT wrapper around the WSDL, and helped me create a just-under-300-line generic client object. I don't even have to touch the XML, and I still have low-level access to the protocol if I need it. Just wondering. j On Mar 30, 11:03 am, John Bliss bliss.j...@gmail.com wrote: I noticed that my v20:operand xmlns:v20=https://adwords.google.com/ api/adwords/cm/v200909 was missing xsi:type=v20:BiddableAdGroupCriterion and I've fixed that...but the problem persists. Please advise... On Mar 30, 10:41 am, John Bliss bliss.j...@gmail.com wrote: I'm getting Unmarshalling Error: ParseError when posting the following XML tohttps://adwords.google.com/api/adwords/cm/v200909/AdGroupCriter ionSer... What am I doing wrong...? soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/ envelope/ xmlns:v20=https://adwords.google.com/api/adwords/cm/ v200909 soapenv:Header xmlns:soapenv=http://schemas.xmlsoap.org/soap/ envelope/ v20:RequestHeader xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 v20:applicationToken xmlns:v20=https:// adwords.google.com/api/adwords/cm/v200909 [our app token] /v20:applicationToken v20:authToken xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 [our auth token] /v20:authToken v20:clientEmail xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 [our client email] /v20:clientEmail v20:developerToken xmlns:v20=https://adwords.google.com/ api/adwords/cm/v200909 [our dev token] /v20:developerToken v20:userAgent xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 [our user agent] /v20:userAgent /v20:RequestHeader /soapenv:Header soapenv:Body xmlns:soapenv=http://schemas.xmlsoap.org/soap/ envelope/ v20:mutate xmlns:v20=https://adwords.google.com/api/adwords/ cm/v200909 v20:operations xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 v20:operator xmlns:v20=https://adwords.google.com/ api/adwords/cm/v200909 SET /v20:operator v20:operand xmlns:v20=https://adwords.google.com/api/ adwords/cm/v200909 v20:adGroupId xmlns:v20=https:// adwords.google.com/api/adwords/cm/v200909 [adGroupId] /v20:adGroupId v20:criterion xmlns:v20=https:// adwords.google.com/api/adwords/cm/v200909 xsi:type=v20:Criterion v20:id xmlns:v20=https://adwords.google.com/ api/adwords/cm/v200909 [id] /v20:id /v20:criterion v20:destinationUrl xmlns:v20=https:// adwords.google.com/api/adwords/cm/v200909 [destinationUrl] /v20:destinationUrl /v20:operand /v20:operations /v20:mutate /soapenv:Body /soapenv:Envelope -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Re: Unmarshalling Error: ParseError
On Tuesday 30 March 2010, John M Bliss elucidated thus: I'm using ColdFusion which, among other things, makes it very easy to work with XML without actually *writing* any XML: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7fb3.html I see. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Re: getClientAccounts() returns an invalid e-mail?
Certainly! The request ID that generates the list of client e-mails is: b6f9c3726bd140f3a16e8c2d2e00c818 This list includes the e-mail address I sent in the header of the next request. As I stated, other e-mail addresses from that list worked fine. However, on the failed request, I am not getting a request ID, only a SOAP fault: soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; soapenv:Body soapenv:Fault faultcodesoapenv:Server.userException/faultcode faultstringInvalid client email specified./faultstring detail ns1:fault xmlns:ns1=https://adwords.google.com/api/adwords/v13; ns1:code9/ns1:code ns1:messageInvalid client email specified./ns1:message ns1:triggerrealresults...@gmail.com/ns1:trigger /ns1:fault /detail /soapenv:Fault /soapenv:Body /soapenv:Envelope Please let me know if there is anything else I can get for your regarding this error. Thanks! j On Friday 26 March 2010, AdWords API Advisor elucidated thus: Hi Joshua, Can you provide the requestId of the getClientAccounts() and getAccountInfo() requests the demonstrate this behavior? Best, - Eric Koleda, AdWords API Team On Mar 25, 3:35 pm, Joshua J. Kugler jos...@eeinternet.com wrote: I have code like so: for account in ga.Account.getClientAccounts(): # 'account' is an e-mail in the list of e-mails returned print account ga.set_client_email(account) # Sets the client e-mail header try: client = ga.Account.getAccountInfo() print client.descriptiveName This code works, but there is at least one e-mail that returns the error 'Invalid client email specified.' even though it is an e-mail returned by getClientAccounts() *AND* this e-mail *is* in the list of clients when I log in to the web interface. Any idea how to trouble shoot this? Thanks! j -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API getClientAccounts() returns an invalid e-mail?
I have code like so: for account in ga.Account.getClientAccounts(): # 'account' is an e-mail in the list of e-mails returned print account ga.set_client_email(account) # Sets the client e-mail header try: client = ga.Account.getAccountInfo() print client.descriptiveName This code works, but there is at least one e-mail that returns the error 'Invalid client email specified.' even though it is an e-mail returned by getClientAccounts() *AND* this e-mail *is* in the list of clients when I log in to the web interface. Any idea how to trouble shoot this? Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Re: Inconsistency in docs, or not understanding a selector
On Wednesday 24 March 2010, AdWords API Advisor elucidated thus: Hi Joshua, Pete is correct, you need to need to pass in an empty selector. Here is an example using the PHP client library: http://code.google.com/p/google-api-adwords-php/source/browse/trunk/e xamples/v200909/GetAllCampaigns.php Also, ensure that the selector element has the correct namespace or else it won't be recognized by the API server. Thanks for all your replies. I figured out that my SOAP library (suds, in this case) is not sending an empty object, which the adwords API requires. I'll talk to the suds developers to see how to work around this. Thanks again! j Best, - Eric Koleda, AdWords API Team On Mar 23, 3:18 pm, Joshua J. Kugler jos...@eeinternet.com wrote: On Tuesday 23 March 2010, Pete Lavetsky (AdWords API Guru) elucidated thus: I just create a new instance of a CampaignSelector and pass it in. public ListCampaign getAllCampaigns() throws Exception { return get( new CampaignSelector() ); } I don't know if you can approximate the same with PHP tho ... Yeah, I tried that too, and it threw the same error. Thanks for the tip, though. j On Mar 23, 3:04 pm, Joshua J. Kugler jos...@eeinternet.com wrote: The documentation for CampaignService.get() says: Parameters selector CampaignSelector filter to run campaigns through. If selector is empty, all campaigns are returned. But if I execute: CampaignService.get() or CampaignService.get({}) I get: Server raised fault: '[RequiredError.REQUIRED @ selector]' OK, so let's specify a selector. The docs for type CampaignSelector say: ids: The list of possible campaigns to be selected. ***An empty list indicates all account campaigns as possibly being selected.*** This field must contain distinct elements. This field must not contain null elements. campaignStatuses: Only campaigns having these statuses are selected. ***An empty list indicates all campaign statuses as being selected.*** This field must contain distinct elements. This field must not contain null elements. statsSelector: ***Indicates if stats should be returned; null will not return stats.*** paging: The starting index and number of results to return. So, with this selector: selector = { 'ids': [], 'campaignStatuses':[], 'statsSelector': None, 'paging':{ 'startIndex':0, 'numberResults':9 } } I still get: Server raised fault: '[RequiredError.REQUIRED @ selector]' Same error message if I leave out statsSelector completely, or set it to {} What, exactly, is required? It would be nice if the server fault told me what was missing. :) Thanks! j -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Re: Inconsistency in docs, or not understanding a selector
On Thursday 25 March 2010, Joshua J. Kugler elucidated thus: Pete is correct, you need to need to pass in an empty selector. Here is an example using the PHP client library: http://code.google.com/p/google-api-adwords-php/source/browse/trunk /e xamples/v200909/GetAllCampaigns.php Also, ensure that the selector element has the correct namespace or else it won't be recognized by the API server. Thanks for all your replies. I figured out that my SOAP library (suds, in this case) is not sending an empty object, which the adwords API requires. I'll talk to the suds developers to see how to work around this. Jeff Ortel (the suds maintainer) helped me with this on IRC (THANK YOU JEFF!) and we ended up figuring out this gave me the desired behavior: selector = client.factory.create('CampaignSelector') selector.statsSelector = ' ' print client.get(selector) Yes, you read right: that is setting statsSelector to a space. It then sends this to google: ns1:Body ns0:get ns0:selector ns0:statsSelector /ns0:statsSelector /ns0:selector /ns0:get /ns1:Body And google is perfectly happy with that: it returns all campaigns, all statistics. Thanks again Jeff and all the others for all your help! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
Re: AdWords API Re: Lots of server faults while processing clients
Pete - Thanks for the quick response. I realize now that I don't want to be passing in the customer ID like that...I was staring at the problem too long last night, and parts of the docs just went right past me. Thanks again! j On Tuesday 23 March 2010, Pete Lavetsky (AdWords API Guru) elucidated thus: You don't want to be setting the customerId in your CampaignSelector ... You want the procedure to be something similar to: Get client email + customerId Create AdWordsUser with the AuthToken and customer credentials ( including your appToken and username pass and other info ) Get the CampaignService for that AdWordsUser: adWordsUser.getService( AdWordsService.V200909.CAMPAIGN_SERVICE ) ) Get all campaigns for the user with an empty selector: campaignService.get( new CampaignSelector() ); http://code.google.com/p/google-api-adwords-java/source/browse/trunk/ examples/v200909/GetAllCampaigns.java Pete On Mar 22, 9:27 pm, Joshua J. Kugler jos...@eeinternet.com wrote: I am doing an operation like this via the SOAP API. Get a list of client e-mails. Get the client account (for their ID) CampaignService.get() with the following selector: selector = { 'ids': [client.customerId], 'statsSelector': {} } Most of my calls to CampaignService.get() are returning: InternalApiError.UNEXPECTED_INTERNAL_API_ERROR Is there any way to debug this? Some (very few) of my get() queries succeed, but most of them return the given error. I would suspect I'm passing malformed parameters, but since some of the queries work, I must be passing in OK parameters. Anyone know what is going on? j -- Joshua Kugler Part-Time System Admin/Programmerhttp://www.eeinternet.com PGP Key:http://pgp.mit.edu/ID 0x73B13B6A -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Inconsistency in docs, or not understanding a selector
The documentation for CampaignService.get() says: Parameters selector CampaignSelector filter to run campaigns through. If selector is empty, all campaigns are returned. But if I execute: CampaignService.get() or CampaignService.get({}) I get: Server raised fault: '[RequiredError.REQUIRED @ selector]' OK, so let's specify a selector. The docs for type CampaignSelector say: ids: The list of possible campaigns to be selected. ***An empty list indicates all account campaigns as possibly being selected.*** This field must contain distinct elements. This field must not contain null elements. campaignStatuses: Only campaigns having these statuses are selected. ***An empty list indicates all campaign statuses as being selected.*** This field must contain distinct elements. This field must not contain null elements. statsSelector: ***Indicates if stats should be returned; null will not return stats.*** paging: The starting index and number of results to return. So, with this selector: selector = { 'ids': [], 'campaignStatuses':[], 'statsSelector': None, 'paging':{ 'startIndex':0, 'numberResults':9 } } I still get: Server raised fault: '[RequiredError.REQUIRED @ selector]' Same error message if I leave out statsSelector completely, or set it to {} What, exactly, is required? It would be nice if the server fault told me what was missing. :) Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Lots of server faults while processing clients
I am doing an operation like this via the SOAP API. Get a list of client e-mails. Get the client account (for their ID) CampaignService.get() with the following selector: selector = { 'ids': [client.customerId], 'statsSelector': {} } Most of my calls to CampaignService.get() are returning: InternalApiError.UNEXPECTED_INTERNAL_API_ERROR Is there any way to debug this? Some (very few) of my get() queries succeed, but most of them return the given error. I would suspect I'm passing malformed parameters, but since some of the queries work, I must be passing in OK parameters. Anyone know what is going on? j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
Re: AdWords API Clientlogin frequency?
On Friday 19 March 2010, Rick elucidated thus: And speaking of the captcha, why is it there at all for the Adwords api? I've wondered this too. An API, by definition, usually, is non-interactive. So, even if my scripts get back a response indicating I need to answer a captcha (because maybe somebody *else* was hacking my account), I will have no way to fill in and return this captcha because because this is a script running on a server in a cron job...not interactively in any way to display graphical output. j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
Re: AdWords API Cannot access client library in python
On Friday 19 March 2010, dsay elucidated thus: I am not sure if someone is able to use client library for python as I continue to get the following error Traceback (most recent call last): File get_related_keywords.py, line 53, in module page = targeting_idea_service.Get(selector)[0] File ../../aw_api/TargetingIdeaService.py, line 105, in Get 'TargetingIdea', self.__loc, request) File ../../aw_api/WebService.py, line 350, in CallMethod raise ValidationError(error['data']) aw_api.Errors.ValidationError: Invalid headers for 'https://adwords- sandbox.google.com', see http://code.google.com/apis/adwords/docs/developer/adwords_api_sandbo x.html#requestheaders. I have tried to run in python 2.5 and 2.6 and on ubuntu and fedora. Its giving same error everywhere. What code are you using to set your headers? j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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 To unsubscribe from this group, send email to adwords-api+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
AdWords API Getting Campaign statistics with the 200909 API
So, the migration guide for the 200909 API says to replace this call: campaign_service.GetCampaignStats(campaign_id, '2009-01-01', '2009-01-31') use this: selector = { 'ids': [campaign_id], 'statsSelector': { 'dateRange': { 'max': '20090131', 'min': '20090101' } } } campaign_service.Get(selector) GetCampaignStats used to return a StatsRecord with these fields: averagePosition, clicks, conversionRate, conversions, cost, id, and impressions All I get from the campaign_service.Get(selector) call (this is using suds in Python): selector = ga.factory.create('CampaignSelector') selector.ids.append(campagain[some valid id]) selector.statsSelector.dateRange.min = '20100301' selector.statsSelector.dateRange.max = '20100331' print ga.service.get(selector) is: (CampaignPage){ totalNumEntries = 0 Page.Type = CampaignPage totalBudget = (Budget){ period = DAILY amount = (Money){ ComparableValue.Type = Money microAmount = 0 } deliveryMethod = STANDARD } } I see that the CampaignService has an object named Stats which has all the aforementioned fields, but there is no indication on how to retrieve that object for a campaign. How do I do a call that will retrieve a Stats object, and thus the information I need? The documentation is very unclear here. By the way, if I try to use ga.service.Get(...), suds reports: Method not found: 'CampaignService.CampaignServiceInterfacePort.Get' In fact, in the wsdl file, on line 3352 (CampaignService.wsdl for 200909), the operation is defined as: wsdl:operation name=get (lower case 'G'). Same for 'mutate.' It would seem the documentation is incorrect in this case. Thanks! j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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
Re: AdWords API Getting Campaign statistics with the 200909 API
On Wednesday 17 March 2010, Joshua J. Kugler elucidated thus: All I get from the campaign_service.Get(selector) call (this is using suds in Python): (CampaignPage){ totalNumEntries = 0 Page.Type = CampaignPage totalBudget = (Budget){ period = DAILY amount = (Money){ ComparableValue.Type = Money microAmount = 0 } deliveryMethod = STANDARD } } OK, I from a v13 API call that I don't have any campaigns available to me...so, that answers part of my question, BUT when I specify an id in getCampaign (v13) it tells me I can't access that campaign. When I do that for v200909, it just returns zero records and doesn't tell me why. Not very friendly. :) I see that the CampaignService has an object named Stats which has all the aforementioned fields, but there is no indication on how to retrieve that object for a campaign. How do I do a call that will retrieve a Stats object, and thus the information I need? OK, so I understand now that if results are returned, they'll include a Stats object...got it. In fact, in the wsdl file, on line 3352 (CampaignService.wsdl for 200909), the operation is defined as: wsdl:operation name=get (lower case 'G'). Same for 'mutate.' It would seem the documentation is incorrect in this case. Sigh...I could have sworn the docs were saying Get, but I guess not. They are saying GetSomething for the old calls when the correct call is getSomething, though. :) So, a couple of questions answered, one still outstanding. :) j -- Joshua Kugler Part-Time System Admin/Programmer http://www.eeinternet.com PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Have you migrated to v200909 yet? The v13 sunset is on April 22, 2010. 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