Re: Error in PHP code example

2011-11-15 Thread Joshua J. Kugler
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

2011-11-09 Thread Joshua J. Kugler
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.

2011-06-10 Thread Joshua J. Kugler
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.

2011-06-09 Thread Joshua J. Kugler
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.

2011-05-27 Thread Joshua J. Kugler
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

2010-10-19 Thread Joshua J. Kugler
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

2010-08-12 Thread Joshua J. Kugler
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

2010-08-04 Thread Joshua J. Kugler
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?

2010-08-03 Thread Joshua J. Kugler
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

2010-08-03 Thread Joshua J. Kugler
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

2010-08-03 Thread Joshua J. Kugler
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

2010-07-28 Thread Joshua J. Kugler
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

2010-07-28 Thread Joshua J. Kugler
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?

2010-07-15 Thread Joshua J. Kugler
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?

2010-07-13 Thread Joshua J. Kugler
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

2010-07-06 Thread Joshua J. Kugler
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?

2010-06-08 Thread Joshua J. Kugler
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?

2010-06-07 Thread Joshua J. Kugler
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

2010-05-20 Thread Joshua J. Kugler
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();

2010-04-21 Thread Joshua J. Kugler
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

2010-04-15 Thread Joshua J. Kugler
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?

2010-04-14 Thread Joshua J. Kugler
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?

2010-04-09 Thread Joshua J. Kugler
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

2010-04-09 Thread Joshua J. Kugler
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

2010-04-08 Thread Joshua J. Kugler
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.

2010-04-01 Thread Joshua J. Kugler
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?

2010-03-31 Thread Joshua J. Kugler
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

2010-03-30 Thread Joshua J. Kugler
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

2010-03-30 Thread Joshua J. Kugler
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?

2010-03-29 Thread Joshua J. Kugler
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?

2010-03-25 Thread Joshua J. Kugler
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

2010-03-25 Thread Joshua J. Kugler
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

2010-03-25 Thread Joshua J. Kugler
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

2010-03-23 Thread Joshua J. Kugler
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

2010-03-23 Thread Joshua J. Kugler
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

2010-03-22 Thread Joshua J. Kugler
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?

2010-03-19 Thread Joshua J. Kugler
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

2010-03-19 Thread Joshua J. Kugler
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

2010-03-17 Thread Joshua J. Kugler
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

2010-03-17 Thread Joshua J. Kugler
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