Re: How to imitate "keyword tool" page in Java?

2012-10-09 Thread Eric
Thank you Jason, can you give me a sample? In fact I am not very familiar 
with webservice

On Monday, September 24, 2012 3:41:27 AM UTC-7, Eric wrote:
>
> Hi Devs,
>
> Can you help me to create a method work like the page "
> https://adwords.google.com/o/Targeting/Explorer?__c=10&__u=10&ideaRequestType=KEYWORD_IDEAS";
>  
> in Java?
> It is the first time I use Google AdWords API, I am not familiar with it. 
> I spent a lot of time on it, but I still failed. I just want to let it work 
> in code, and I can do something by myself.
>
> Best regard,
> Eric
>

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

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en


Re: ADGROUP_REACH_FREQUENCY_REPORT doesn't return any records yet?

2012-10-09 Thread dkasak


On Tuesday, October 9, 2012 3:29:34 PM UTC+11, dkasak wrote:
>
> Hmmm.
>
> OK Jayshree. Thanks for responding, but in all honesty, you're not 
> helping. Please see the response I got back ( above ). For us, at least for 
> certain accounts ( which have reporting data for the given date range ), 
> we're not getting any data. It's great that you're getting data, but it's 
> not explaining what's happening in our reports.
>
> Can someone from *Google* please respond on this issue?
>
> Dan
>
> On Friday, 5 October 2012 21:55:29 UTC+10, jayshree bhongle wrote:
>>
>>
>> Have a look at this file,this  are the stats i got by running  the awql 
>> query i mentioned previously
>>
>> On Fri, Oct 5, 2012 at 12:12 PM, dkasak wrote:
>>
>>> I spent most of the day rewiring our code to make AWQL requests for this 
>>> report. This doesn't return any records either; just an XML with field 
>>> headers.
>>>
>>> Now ... can someone please comment *definitively* on whether this 
>>> report is supposed to work or not?
>>>
>>> ---
>>>
>>> AWQL:
>>>
>>> select
>>>   AccountId
>>> , AdGroupId
>>> , AdGroupName
>>> , AdGroupStatus
>>> , CampaignId
>>> , CampaignName
>>> , CampaignStatus
>>> , ReachFrequency
>>> , ReachFrequencyClicks
>>> , ReachFrequencyConv
>>> , ReachFrequencyConvRate
>>> , ReachFrequencyCtr
>>> , ReachFrequencyDate
>>> from ADGROUP_REACH_FREQUENCY_REPORT
>>> during LAST_7_DAYS
>>>
>>> Report XML returned:
>>>
>>> >> standalone='yes'?>>> name='ADGROUP_REACH_FREQUENCY_REPORT'/>>> display='Ad group'/>>> name='campaign' display='Campaign'/>>> display='Campaign state'/>>> display='Frequency'/>>> name='conv' display='Conv.'/>>> display='Day'/>
>>>
>>> Dan
>>>
>>> On Thursday, 4 October 2012 21:38:21 UTC+10, jayshree bhongle wrote:
>>>
 Hi,
 This report works.I have used this report and it gives me correct data 
 .I have tested it for the fields which you have specified.But instead of 
 using adhoc reports i use awql queries.
 The query which gets me this data is as follows:-
 $reportDefinition = "SELECT  AdGroupId,AdGroupName,**
 AdGroupStatus,CampaignId,**CampaignName,CampaignStatus,**
 ReachFrequency,**ReachFrequencyClicks,**ReachFrequencyConv,**
 ReachFrequencyConvRate,**ReachFrequencyCtr,**ReachFrequencyDate,**UniqueUserCountAsLong

 FROM ADGROUP_REACH_FREQUENCY_**REPORT  DURING LAST_7_DAYS";



 On Thu, Oct 4, 2012 at 7:26 AM, dkasak wrote:

>  Hi.
>
> We noticed you have added an ADGROUP_REACH_FREQUENCY_REPORT report 
> type. We'd like to use this data. When I create a report request:
>
> https://adwords.google.**
> com/api/adwords/cm/v201206
> ">
> 
> AdGroupId
> AdGroupName
> AdGroupStatus
> CampaignId
> CampaignName
> CampaignStatus
> ReachFrequency
> ReachFrequencyClicks
> ReachFrequencyConv
> **ReachFrequencyConvRate
> ReachFrequencyCtr
> ReachFrequencyDate
> UniqueUserCountAsLong<**/fields>
> 
> ADGROUP_REACH_**FREQUENCY_REPORT
> ADGROUP_REACH_**FREQUENCY_REPORT
> LAST_7_DAYS
> GZIPPED_XML
> 
>
>  ... I get a gzipped XML, but it only contains headers; no rows.
>
> Is this report not working yet?
>
> Dan
>
> -- 
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~**=~=~=~=~=~=~=~=~=~
> Also find us on our blog and discussion group:
> http://adwordsapi.blogspot.com
> http://groups.google.com/**group/adwords-api
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~**=~=~=~=~=~=~=~=~=~
>  
> You received this message because you are subscribed to the Google
> Groups "AdWords API Forum" group.
> To post to this group, send email to adwor...@googlegroups.com
>
> To unsubscribe from this group, send email to
> adwords-api...@**googlegroups.com
>
> For more options, visit this group at
> http://groups.google.com/**group/adwords-api?hl=en
>

  -- 
>>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>>> Also find us on our blog and discussion group:
>>> http://adwordsapi.blogspot.com
>>> http://groups.google.com/group/adwords-api
>>> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>>>  
>>> You received this message because you are subscribed to the Google
>>> Groups "AdWords API Forum" group.
>>> To post to this group, send email to adwor...@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> adwords-api...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/adwords-api?hl=en
>>>
>>
>>

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

How do I download a report into memory now (v201209)

2012-10-09 Thread bgraves
Upgrading from v201109 to v201209 produced the following error:
   ReportDownloadError.INVALID_REPORT_DEFINITION_XML
   Invalid ReportDefinition Xml: cvc-complex-type.2.4.a: 
Invalid content was found starting with element 'selector'. One of '{"
https://adwords.google.com/api/adwords/cm/v201109":id, "
https://adwords.google.com/api/adwords/cm/v201109":selector}' is expected.
 
Here's the code that triggers the error:
Dim utilities As New ReportUtilities(AdWordsUser)
utilities.ReportVersion = "v201209"
Dim report As ClientReport = New 
ReportUtilities(AdWordsUser).GetClientReport(reportDefinition)
objXML.LoadXml(report.Text)
Not sure why it's complaining about v201109 format since I'm using v201209 
(see above)

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Does anyone know if Google spell check API is free or not; [http://www.google.com/tbproxy/spell]?

2012-10-09 Thread David Torres
I'm sorry this forum is to discuss topics related to the AdWords API.

Best,

-David Torres - AdWords API Team

On Thursday, October 4, 2012 5:17:24 PM UTC-4, Jay Choi wrote:
>
>
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: OAuth 2.0 for Server to Server Applications problem

2012-10-09 Thread David Torres
Hi Martin,

There is no direct support in the Ruby library to generate JWT access 
tokens (the tokens used by service accounts), please log a feature request 
in their project issue 
tracker
.

For Java, you have to do something along these lines:

GoogleCredential credential = new 
GoogleCredential.Builder().setTransport(new NetHttpTransport())
   .setJsonFactory(new GsonFactory())
   .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
   .setServiceAccountScopes(SCOPE)
   .setServiceAccountPrivateKeyFromP12File(new File(PATH_TO_YOUR_P12_FILE))
   .setServiceAccountUser(SERVICE_ACCOUNT_TARGET_EMAIL)
   .build();

Best,

-David Torres - AdWords API Team

On Thursday, October 4, 2012 9:37:55 AM UTC-4, Marcin Urbanski wrote:
>
> Hi all.
>
> Is there a way to use OAuth 2.0 for Server to Server Applications using 
> Ruby library?
> I couldn't find anything in the source code.
>
> https://developers.google.com/accounts/docs/OAuth2ServiceAccount
>
> Can you eventually show me an example of how to use this kind of 
> authentication (without user) in Java maybe?
> I did a lot of research today but the only examples I could find are 
> broken C# snippets and Java examples that require
> user activity:( I have to connect to AdWords API through OAuth 2 to avoid 
> AdsCommon::Errors::CaptchaRequiredError 
> exceptions.
>
> I need something like this
>
>
> http://stackoverflow.com/questions/11939026/google-oauth2-service-account-access-token-request-gives-invalid-request-respo/11942278#11942278
>
> Thanks!
> Martin
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 set up problem;

2012-10-09 Thread David Torres
Hi,

You need to comment out the clientId line and call the GetCampaigns.php and 
then the GetAccountHierarchy.php example, with it you'll get a list of 5 
created child customer ids use one of those as your clientId.

Best,

-David Torres - AdWords API Team

On Thursday, October 4, 2012 9:18:08 AM UTC-4, V. Behr wrote:
>
> Hi, 
>
> I am trying to set up a sandbox account for hours now, but it is not 
> working. Here is the auth.ini:  
>
>
> ---
> email = "vx...@yyy.de "
> password = ""
> userAgent = "testprojekt"
> developerToken = "vxxx@yyy++EUR"
>
> ; Uncomment to make requests against a client account.
>  clientId = "client...@yyy.de "
>
> ; Uncomment the following to use an existing AuthToken.
> ; authToken = "INSERT_AUTH_TOKEN_HERE"
>
> ; Uncomment the following to setup OAuth 1.0 authentication.
> ; [OAUTH]
>
> ; If you don't have a consumer key and secret, register your application 
> here:
> ; https://accounts.google.com/ManageDomains
> ; oauth_consumer_key = "INSERT_OAUTH_CONSUMER_KEY_HERE"
> ; oauth_consumer_secret = "INSERT_OAUTH_CONSUMER_SECRET_HERE"
>
> ; If you already have an access token enter it below.
> ; oauth_token = "INSERT_OAUTH_TOKEN_HERE"
> ; oauth_token_secret = "INSERT_OAUTH_TOKEN_SECRET_HERE"
>
> ; Uncomment the following to setup OAuth2 authentication.
> ; [OAUTH2]
>
> ; If you do not have a client ID or secret, please create one in the
> ; API console: https://code.google.com/apis/console#access
> ; client_id = "INSERT_OAUTH2_CLIENT_ID_HERE"
> ; client_secret = "INSERT_OAUTH2_CLIENT_SECRET_HERE"
>
> ; If you already have access or refresh tokens enter them below.
> ; access_token = "INSERT_OAUTH2_ACCESS_TOKEN_HERE"
> ; refresh_token = "INSERT_OAUTH2_REFRESH_TOKEN_HERE"
>
>
> ---
>
> I am using the PHP client library and when I start the GetCampaigns.php 
> file it throws the following Error: 
>
> "An error has occurred: The header "clientEmail" is not compatible with 
> versions v201109 and later. Use clientCustomerId instead"
>
> I also tried to call the GetClientCustomerId.php and 
> GetAccountHierarchy.php, but with the same problem. 
>
> Can somebody help me?
>
>
>
>
>

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


AuthenticationError.GOOGLE_ACCOUNT_COOKIE_INVALID

2012-10-09 Thread Minh Le
I re-post this question again after months of waiting for a solution:

I use a Windows service to hourly update the targets for a list of about 15 
accounts consist of hundreds of campaigns.

I always get this error after 2 weeks of running the service, which was 
written by C# and .NET using the .NET client API v201109: The only way that 
I can do is to restart the Windows service every 2 weeks.

Google.Api.Ads.AdWords.Lib.AdWordsApiException: 
An API exception has occurred. See ApiException and InnerException fields 
for more details. 
---> System.Web.Services.Protocols.SoapException: *
AuthenticationError.GOOGLE_ACCOUNT_COOKIE_INVALID* @ 
Service[CampaignService.mutate] 
at 
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
 
message, WebResponse response, Stream responseStream, Boolean asyncCall) 
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String 
methodName, Object[] parameters) 
at Google.Api.Ads.Common.Lib.AdsSoapClient.MakeApiCall(String methodName, 
Object[] parameters) 
--- End of inner exception stack trace --- 
at Google.Api.Ads.Common.Lib.AdsSoapClient.MakeApiCall(String methodName, 
Object[] parameters) 
at Google.Api.Ads.AdWords.Lib.AdWordsSoapClient.MakeApiCall(String 
methodName, Object[] parameters) 
at Google.Api.Ads.Common.Lib.AdsSoapClient.Invoke(String methodName, 
Object[] parameters) 
at Google.Api.Ads.AdWords.v201109.CampaignService.mutate(CampaignOperation[] 
operations) 
at SemUpdateBiz.SEMManagerUpdateGeoTargets(string campaign_email, string 
campaign_password, googleNameAndID googleCampaign, string make, 
bool isSeriesCampaign, int MaxCampaigns, int 
AccountID)

I did ask Anash (API Team member), and then he asked me to turn on the log 
file setting in App.config and send him the log. After that I receive an 
advice:
add this line to my code: user.Config.RetryCount = 3. *However, it never 
works.*

private void UpdateGeoTargets(string campaign_email, string 
campaign_password,
googleNameAndID googleCampaign, 
string make, 
bool isSeriesCampaign, int 
MaxCampaigns, int AccountID)
{
Dictionary headers = new Dictionary();
headers.Add("email", campaign_email);
headers.Add("password", campaign_password);
headers.Add("useragent", 
ConfigurationManager.AppSettings["useragent"]);
headers.Add("developerToken", 
ConfigurationManager.AppSettings["developerToken"]);
AdWordsUser user = new AdWordsUser(headers);
user.Config.RetryCount = 3;

try
{
...
...
...

App.config: 
 
















  


Does anyone have the same issue and know how to fix it? 

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


API deprecation policy

2012-10-09 Thread Jose
With the arrival of API v201209, API v201206 will be deprecated. This is 
already known.

My question is: *all new API version will deprecate the previous one?*
*
*
This is related to the following message posted in the Google ds Developer 
Blog:

In response to your feedback, we are pleased to announce that starting at 
> the end of September 2012, new major versions of the AdWords API will be 
> released according to a published schedule. These major releases will occur 
> 3 times per year: at the end of February, in the middle of June and at the 
> end of September. Exact release dates may vary.
> A major release is one that starts the sunset clock on previous releases. 
> An example of this is the recent v201206 release which started the sunset 
> clock on the v201109 and v201109_1 releases. We will also continue to 
> release minor versions to deliver new features as required. Minor versions 
> are optional and are source code compatible. Minor versions are delivered 
> as dot releases and an example of this is the v201109_1 dot release.
> We believe that delivering new API releases to a published schedule will 
> allow you, the API users, to better plan and allocate resources, not just 
> for performing required API updates but also for innovating and 
> implementing new features and continuously developing your tools and 
> platforms. It also provides us with a more stable and more frequent vehicle 
> for delivering new features.
> Each new major release will trigger the deprecation of the previous major 
> release. Exact deprecation timelines will be announced with each major 
> release.
> If you have any questions about this announcement please post on the forum 
> or attend one of the AdWords API Office Hours Hangouts.
>  - Mandy Waite, AdWords API Team

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

You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en


Re: Best practices for long-lived AdWordsService, AdWordsSession, OAuth2

2012-10-09 Thread j.e.frank
I had seen that post, which is what prompted me to post my own.  I am 
trying to better understand how multiple threads should/can share objects. 
 I don't want to go the route of "each call creates its own set of 
objects", if there's a more efficient way to do things.

As an example, consider the AdWordsServices class, which is new (to me). 
 The migration guide says "The AdWordsServices object is fairly heavyweight 
and should be instantiated once and reused as much as possible."  It is not 
thread-safe, but it doesn't retain any state.  My conclusion is that if I 
make a singleton AdWordsServices object for use throughout my code, as long 
as I make sure no two threads are calling adWordsServices.get at the same 
time, that should be more efficient than creating a new one every time I 
need to make an AdWords API call.  In order to achieve thread safety, I 
will probably wrap the AdWordsServices object inside my own singleton 
object, with a synchronized "get" method that passes through to the wrapped 
AdWordsServices object.  That's an example of a best practice that I'm 
looking for.

As for the OAuth2 credential, I have managed to create a valid one from a 
saved refresh token, by building the credential and then calling 
credential.refreshToken().  I'm still trying to figure out whether I need 
to do this refresh step or if it would happen automatically, and also 
whether calling refreshToken() is going to invalidate any AdWordsSession(s) 
that are currently using the credential before it got refreshed.  I'm going 
to write some tests, and once I understand the credentials, tokens, and 
AdWordsSessions better, I will be able to come up with a coding strategy 
that fits my use case (long-lived services, all with the "same" login). 
 But if there are examples already that match my use case, it will be a big 
time-saver and also make it more likely that I don't misunderstand how 
things work, or come up with a flawed solution.

On Tuesday, October 9, 2012 1:42:49 PM UTC-4, Oliver wrote:
>
> You will need to persist the refresh token and account ID so your services 
> can resume on their own in case of a restart.  You can ceate valid 
> AdwordsSession and AdwordsServices on the fly if you have these two fields.
>
> Also, this might be of help:
> https://groups.google.com/forum/?fromgroups=#!topic/adwords-api/zf0slvrjkMs
>
> Oliver
>
> On Tuesday, October 9, 2012 5:08:03 PM UTC+1, j.e.frank wrote:
>>
>> I am trying to migrate to v201209 from v201109.  I have several 
>> long-lived services that use the AdWords API on behalf of my MCC account, 
>> for example to run reports, to get ad details, and so forth.  I'm trying to 
>> understand how I should be using the new session/service objects, such that 
>> more than one thing can be happening at once, but that I don't create a new 
>> session or service object when I don't need to, and also that I use my 
>> OAuth2 tokens appropriately (refresh if necessary but not every time I need 
>> to make a call).  I've seen several pieces of example code, but they are 
>> self-contained so they always get a new session, new service object, 
>> refresh the OAuth token, etc. Are there any examples more suitable for 
>> long-running services that will be invoked from time to time?
>
>

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


Perl Library v201206 QuotaCheckError.INVALID_TOKEN_HEADER with developer token

2012-10-09 Thread Yeison Rodriguez
When I try to use the delete_keywords example script on Sandbox, I end up 
with the error in the subject line:

QuotaCheckError.INVALID_TOKEN_HEADER


It seems to be an issue with my developer token.  I've verified that the 
token itself works.  I was able to use it and my current .properties file 
to connect with the sandbox-account-viewer.jnlp.  The token does contain a 
hyphen, and perhaps that's causing an issue.  I'll have to try and obtain 
another developer token and investigate further.  In the meantime, if 
anyone else has encountered this problem, any insight would be very helpful.

[09 October 2012 09:36:30,319 - INFO ] Outgoing Request:
> http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
> >https://adwords.google.com/api/adwords/cm/v201206";> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>45743  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>REDACTED  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>./
> delete_keyword.pl (AwApi-Perl/2.7.2, Common-Perl/2.0.0, 
> SOAP-WSDL/2.00.10, libwww-perl/5.833, 
> perl/5.010001)https://adwords.google.com/api/adwords/cm/v201206";>false  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>false  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206
> ">REMOVE306233017515412086
>
 

> [09 October 2012 09:36:31,618 - INFO ] Incoming response:
>  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>0004cba21a3161b80aedb2127722AdGroupCriterionServicemutate0700soap:Server[QuotaCheckError.INVALID_TOKEN_HEADER
>  
> @ ;REDACTED]https://adwords.google.com/api/adwords/cm/v201206";>[QuotaCheckError.INVALID_TOKEN_HEADER
>  
> @ ; 
> trigger:'REDACTED']ApiException  
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:type="QuotaCheckError">REDACTEDQuotaCheckError.INVALID_TOKEN_HEADERQuotaCheckErrorINVALID_TOKEN_HEADER

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: All the google adwords filters remove

2012-10-09 Thread Elmer Ayala
I am witnessing the same thing but on the actual AdWords interface.
Have had to re-create the same filters multiple times.


On Tuesday, October 9, 2012 3:10:12 AM UTC-7, Raheel wrote:
>
> Hi All,
>
> I am observing all my campaigns ad groups ads and keywords level Filters 
> which I saved into each level has been disappeared I don't know 
> its happened due to the last system maintenance as I need to rebuild 
> all...
>
>
> Raheel
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: All the google adwords filters remove

2012-10-09 Thread Elmer Ayala
I am witnessing the same thing, however, not on the actual AdWords 
interface.
Have had to re-create the same filters multiple times.

On Tuesday, October 9, 2012 3:10:12 AM UTC-7, Raheel wrote:
>
> Hi All,
>
> I am observing all my campaigns ad groups ads and keywords level Filters 
> which I saved into each level has been disappeared I don't know 
> its happened due to the last system maintenance as I need to rebuild 
> all...
>
>
> Raheel
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: Best practices for long-lived AdWordsService, AdWordsSession, OAuth2

2012-10-09 Thread Oliver
You will need to persist the refresh token and account ID so your services 
can resume on their own in case of a restart.  You can ceate valid 
AdwordsSession and AdwordsServices on the fly if you have these two fields.

Also, this might be of help:
https://groups.google.com/forum/?fromgroups=#!topic/adwords-api/zf0slvrjkMs

Oliver

On Tuesday, October 9, 2012 5:08:03 PM UTC+1, j.e.frank wrote:
>
> I am trying to migrate to v201209 from v201109.  I have several long-lived 
> services that use the AdWords API on behalf of my MCC account, for example 
> to run reports, to get ad details, and so forth.  I'm trying to understand 
> how I should be using the new session/service objects, such that more than 
> one thing can be happening at once, but that I don't create a new session 
> or service object when I don't need to, and also that I use my OAuth2 
> tokens appropriately (refresh if necessary but not every time I need to 
> make a call).  I've seen several pieces of example code, but they are 
> self-contained so they always get a new session, new service object, 
> refresh the OAuth token, etc. Are there any examples more suitable for 
> long-running services that will be invoked from time to time?

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


Office Hours 10/10, 2pm EDT?

2012-10-09 Thread j.e.frank
Are there scheduled Office Hours tomorrow (10/10) at 2 pm EDT?  If I am 
using Chrome, I see that in the Office Hours page 
(https://developers.google.com/adwords/api/community/officehours) it is 
scheduled for 6 GMT aka 2 pm EDT.  If I look in Firefox, it lists no 
scheduled Office Hours at all.  Also if I check the Google Developers 
Events page (https://developers.google.com/events/) there is nothing 
scheduled for 10/10 related to office hours.

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


Best practices for long-lived AdWordsService, AdWordsSession, OAuth2

2012-10-09 Thread j.e.frank
I am trying to migrate to v201209 from v201109.  I have several long-lived 
services that use the AdWords API on behalf of my MCC account, for example 
to run reports, to get ad details, and so forth.  I'm trying to understand 
how I should be using the new session/service objects, such that more than 
one thing can be happening at once, but that I don't create a new session 
or service object when I don't need to, and also that I use my OAuth2 
tokens appropriately (refresh if necessary but not every time I need to 
make a call).  I've seen several pieces of example code, but they are 
self-contained so they always get a new session, new service object, 
refresh the OAuth token, etc. Are there any examples more suitable for 
long-running services that will be invoked from time to time?

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


QuotaCheckError.INVALID_TOKEN_HEADER and developer token

2012-10-09 Thread Yeison Rodriguez
When I try to use the delete_keywords example script on Sandbox, I end up 
with the error in the subject line:

QuotaCheckError.INVALID_TOKEN_HEADER


It seems to be an issue with my developer token.  I've verified that the 
token itself works.  I was able to use it and my current .properties file 
to connect with the sandbox-account-viewer.jnlp.  The token does contain a 
hyphen, and perhaps that's causing an issue.  I'll have to try and obtain 
another developer token and investigate further.  In the meantime, if 
anyone else has encountered this problem, any insight would be very helpful.

[09 October 2012 09:36:30,319 - INFO ] Outgoing Request:
> http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
> > xmlns="https://adwords.google.com/api/adwords/cm/v201206";> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>45743  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>REDACTED  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>./delete_keyword.pl 
> (AwApi-Perl/2.7.2, Common-Perl/2.0.0, SOAP-WSDL/2.00.10, libwww-perl/5.833, 
> perl/5.010001) xmlns="https://adwords.google.com/api/adwords/cm/v201206";>false  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>false  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>REMOVE306233017515412086
>
 

> [09 October 2012 09:36:31,618 - INFO ] Incoming response:
>  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>  
> xmlns="https://adwords.google.com/api/adwords/cm/v201206";>0004cba21a3161b80aedb2127722AdGroupCriterionServicemutate0700soap:Server[QuotaCheckError.INVALID_TOKEN_HEADER
>  
> @ ;REDACTED] xmlns="https://adwords.google.com/api/adwords/cm/v201206";>[QuotaCheckError.INVALID_TOKEN_HEADER
>  
> @ ; 
> trigger:'REDACTED']ApiException  
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:type="QuotaCheckError">REDACTEDQuotaCheckError.INVALID_TOKEN_HEADERQuotaCheckErrorINVALID_TOKEN_HEADER

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


Sandbox for v201209

2012-10-09 Thread Sudhir
When experimenting with v201209 I noticed the sandbox and prooduction 
environment works different. Production is fine but it appears sanbox was 
not updated to use new schema. When calling ManagedCustomer service with 
selector say 
*fields =>  [:login]* (ruby client), 
it worked in sandbox but not in production. Production worked as expected 
because it needs to be 
*fields =>  ["Login"]
*But initially it gave me wrong impression that something is wrong with 
production because sandbox with wrong fields value was able to return all 
accounts.
*
*

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 PHP Oauth2: invalid_grant when refreshing token

2012-10-09 Thread Eric Koleda
Hi Peter,

It appears that the Google OAuth2 endpoint will return this error if you 
attempt to refresh the access token before the previous one has expired. 
Are you calling IsAccessTokenValid() before attempting to refresh it?

http://code.google.com/p/google-api-adwords-php/source/browse/trunk/src/Google/Api/Ads/Common/Util/OAuth2Handler.php#105

Additionally, the library has logic that should automatically detect and 
handle expired tokens, are you utilizing that?

http://code.google.com/p/google-api-adwords-php/source/browse/trunk/src/Google/Api/Ads/AdWords/Lib/AdWordsSoapClient.php#76

Best,
- Eric Koleda, AdWords API Team

On Friday, October 5, 2012 4:01:43 PM UTC-4, Peter Bowen wrote:
>
> This question relates to refreshing an oauth token in the Google Adwords 
> API v201206 using the PHP client library found in aw_api_php_lib_3.1.1 here 
> http://code.google.com/p/google-api-adwords-php/downloads/list
>
> Everything works as expected till the token expires after 1 hour.
>
> Attempting to refresh the token using the 
> $user->RefreshOAuth2AccessToken($credentials) results in an error: 
> invalid_grant
>
> The method in question is RefreshAccessToken in SimpleOAuth2Handler.php
>
> The refresh token method uses curl to post the following data to 
> https://accounts.google.com/o/oauth2/token
>
> (I've masked the start of the real data using **)
>   [refresh_token] => **vk_9xHqDzT2j8OrR-UW24
>   [client_id] => **googleusercontent.com
>   [client_secret] => ***RPd1o
>   [grant_type] => refresh_token
>
>
> This is the curlinfo
>
> [url] => https://accounts.google.com/o/oauth2/token
> [content_type] => application/json
> [http_code] => 400
> [header_size] => 378
> [request_size] => 249
> [filetime] => -1
> [ssl_verify_result] => 0
> [redirect_count] => 0
> [total_time] => 1.735994
> [namelookup_time] => 0.598276
> [connect_time] => 0.616033
> [pretransfer_time] => 0.684525
> [size_upload] => 574
> [size_download] => 51
> [speed_download] => 29
> [speed_upload] => 330
> [download_content_length] => -1
> [upload_content_length] => 574
> [starttransfer_time] => 1.685787
> [redirect_time] => 0
> [request_header] => POST /o/oauth2/token HTTP/1.1
> User-Agent: curl, gzip
> Host: accounts.google.com
> Accept: */*
> Accept-Encoding: gzip
> Content-Length: 574
> Expect: 100-continue
> Content-Type: multipart/form-data; 
> boundary=08f82c0f8254
>
> Searching Google returns suggestions to check the time, but  my laptop is 
> within 1 second of the unix timestamp so I don't think it's this.
>
> I'd value your thoughts as I've had a rather frustrating time trying to 
> get this to work.
>
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: oauth2 service account with google adwords api for ruby

2012-10-09 Thread Radhames Brito
Hello Danial, im using OAuth2 to get data from thou to my platform, what is 
the preferred process to get it without user interaction with a MCC 
account? Is there a way too pull reports for each child account using only 
the MCC credentials (or some sort of master key)? all my child accounts are 
managed and created with the MCC account so it doesnt make much sense to me 
to need to log in and grant access to the application for every child 
accounts (thousands).

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


Everything in sandbox has switched from enabled to active

2012-10-09 Thread Jeremy Aube
All of our uploads in sandbox are failing now with the following error:

Unknown exception with error: Unmarshalling Error: cvc-enumeration-valid: 
Value 'ENABLED' is not facet-valid with respect to enumeration '[ACTIVE, 
DELETED, PAUSED]'. It must be a value from the enumeration.

If we switch the value from 'ENABLED' to 'ACTIVE', then everything works 
fine. This is happening for ads, keywords, and auto targets. We're using 
the mutate job service on v201206. Is there a way to make a request for the 
current enumeration so we can change our values on the fly, in case 
everything switches back again?

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: oauth2 service account with google adwords api for ruby

2012-10-09 Thread Marcin Urbanski
Thanks for your reply!

The problem is that all code samples are relying on user activity.
What I want to acheive is downloading reports for all managed clients using 
OAuth Service to Service authentication.
This process should be asynchronous and I believe I need something like 
this to athenticate:

GoogleCredential credential = new 
GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(STORAGE_SCOPE)
.setServiceAccountPrivateKeyFromP12File(new File("key.p12"))
.build();



When will this be possible in pure Ruby? (without need to use Java libraries).



Here's my unanswered post with more details:

https://groups.google.com/forum/?fromgroups=#!searchin/adwords-api/OAuth$202.0$20for$20Server$20to$20Server$20Applications$20problem/adwords-api/JxuwI7yDg94/3QudZw1pKJkJ

Could you help me somehow?

Martin

On Tuesday, October 9, 2012 11:45:41 AM UTC+2, Danial Klimkin wrote:
>
> Hello Marcin,
>
>
> Please see my reply to the initial post which should cover the issue. I've 
> also created an article with more details specific to Ruby:
>
>   
> http://googleadsdeveloper.blogspot.com/2012/10/using-oauth20-authorization-method-with.html
>
> Let me know if you have any questions.
>
>
> -Danial, AdWords API Team.
>
>
> On Monday, October 8, 2012 5:58:10 PM UTC+4, Marcin Urbanski wrote:
>>
>> Any update on this? I have exactly the same problem.
>> If Ruby gems won't support it soon, I can use Java.
>>
>> Are there any examples on how to use Service to Service authentication?
>>
>> On Tuesday, August 14, 2012 5:07:08 PM UTC+2, Antony Vorobiev wrote:
>>>
>>> Hello all,
>>>
>>> I was using ClientLogin authorization method in my server application 
>>> for several months, but now it throws CaptchaRequired error because of too 
>>> much authorization attempts for about 100 client_customer_id in a batch, so 
>>> I'm looking for the way to get 100+ client accounts processed (sync 
>>> campaigns, fetch campaign statuses, report statistics) in reasonable time 
>>> (several minutes) without any user interaction
>>>
>>> according to - https://developers.google.com/accounts/docs/OAuth2 - 
>>> this document, the most suitable method for me is OAuth 2.0 Service Account 
>>> authorization
>>>
>>> I've got all the credentials - Client ID, Email address, Application 
>>> name and private key file, but I still have no idea how can I get this 
>>> stuff working.
>>>
>>>
>>> Could you please provide me with an example of how can I access to 
>>> Adwords API via OAuth 2.0 Service Account and fetch, for example, account 
>>> hierarchy using Ruby Adwords API library?
>>>
>>

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


Google.Api.Ads.Common.Lib.SoapListenerExtension - can it be configured to apply only for Google Requests?

2012-10-09 Thread Nakul Ringshia
Hi 

I understand that the following needs to be added to configuration file for 
calling in to the Adwords services.



  

  

  

However is there a way to have the SoapListenerExtension apply ONLY TO 
requests originating for Google Adwords services?

Here's my situation


   1. I have a dot net assembly that interacts with Google Adwords - calls 
   the Customer Service and downloads reports.
   2. This assembly is invoked by a .Net WCF service. Since the WCF service 
   consumes the assembly, the configuration for the Soap extension is placed 
   in the WCF config file (and its working).
   3. Requests (called extraction requests in our project) are generated by 
   a BizTalk server and passed to the WCF server (which in turn calls the dot 
   net assembly).
   4. Once data is fetched from Adwords, response is sent back to BizTalk 
   by the WCF service.
   
In step 4, the response is sent back to BizTalk *via a web service*. Since 
the Soap listener is attached to the WCF service its *not only* applying to 
the Google Adwords requests* but also* to the responses being sent to 
BizTalk and this is causing side effects in the BizTalk server.

So is there is way to have the Soap Listener apply just for the Google 
AdWords requests.

Thanks

Nakul Ringshia

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


About Quality Info

2012-10-09 Thread Seval Zirve
Hi,

i get some quality info with API but always return same results. How can i 
get isLandingPageLatencyAcceptable, isLandingPageQualityAcceptable, 
isKeywordAdRelevanceAcceptable values?

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


All the google adwords filters remove

2012-10-09 Thread Raheel
Hi All,

I am observing all my campaigns ad groups ads and keywords level Filters 
which I saved into each level has been disappeared I don't know 
its happened due to the last system maintenance as I need to rebuild 
all...


Raheel

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: oauth2 service account with google adwords api for ruby

2012-10-09 Thread Danial Klimkin
Hello kes0,


This is defined by the Google Accounts authorization policies which is 
external to the AdWords API. We are not able to share any details on what 
triggers captcha challenge.

Please note if you are about to launch a new platform, you should consider 
implementing OAuth2.0 as soon as possible, as the client login protocol is 
deprecated and will be removed in the future.


-Danial, AdWords API Team.



On Tuesday, October 9, 2012 1:50:01 PM UTC+4, kes0 wrote:
>
> Kinda off topic but just some questions regarding this limit, is it 
> 100 authorizations independent during a certain time limit or am I 
> missunderstanding? Since you are writing about something about batch. 
> I am about to launch a platform that will have this amount of users at 
> the same time. 
>
> Regards Fred 
>
> 2012/10/9 Danial Klimkin >: 
> > Hello Marcin, 
> > 
> > 
> > Please see my reply to the initial post which should cover the issue. 
> I've 
> > also created an article with more details specific to Ruby: 
> > 
> > 
> > 
> http://googleadsdeveloper.blogspot.com/2012/10/using-oauth20-authorization-method-with.html
>  
> > 
> > Let me know if you have any questions. 
> > 
> > 
> > -Danial, AdWords API Team. 
> > 
> > 
> > On Monday, October 8, 2012 5:58:10 PM UTC+4, Marcin Urbanski wrote: 
> >> 
> >> Any update on this? I have exactly the same problem. 
> >> If Ruby gems won't support it soon, I can use Java. 
> >> 
> >> Are there any examples on how to use Service to Service authentication? 
> >> 
> >> On Tuesday, August 14, 2012 5:07:08 PM UTC+2, Antony Vorobiev wrote: 
> >>> 
> >>> Hello all, 
> >>> 
> >>> I was using ClientLogin authorization method in my server application 
> for 
> >>> several months, but now it throws CaptchaRequired error because of too 
> much 
> >>> authorization attempts for about 100 client_customer_id in a batch, so 
> I'm 
> >>> looking for the way to get 100+ client accounts processed (sync 
> campaigns, 
> >>> fetch campaign statuses, report statistics) in reasonable time 
> (several 
> >>> minutes) without any user interaction 
> >>> 
> >>> according to - https://developers.google.com/accounts/docs/OAuth2 - 
> this 
> >>> document, the most suitable method for me is OAuth 2.0 Service Account 
> >>> authorization 
> >>> 
> >>> I've got all the credentials - Client ID, Email address, Application 
> name 
> >>> and private key file, but I still have no idea how can I get this 
> stuff 
> >>> working. 
> >>> 
> >>> 
> >>> Could you please provide me with an example of how can I access to 
> >>> Adwords API via OAuth 2.0 Service Account and fetch, for example, 
> account 
> >>> hierarchy using Ruby Adwords API library? 
> > 
> > -- 
> > =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 
> > Also find us on our blog and discussion group: 
> > http://adwordsapi.blogspot.com 
> > http://groups.google.com/group/adwords-api 
> > =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 
> > 
> > You received this message because you are subscribed to the Google 
> > Groups "AdWords API Forum" group. 
> > To post to this group, send email to adwor...@googlegroups.com 
> > To unsubscribe from this group, send email to 
> > adwords-api...@googlegroups.com  
> > For more options, visit this group at 
> > http://groups.google.com/group/adwords-api?hl=en 
>
>
>
> -- 
>
> // 
> MVH / Regards 
>
> Fredrik Gustafsson 
> 070-2833674 
>

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: oauth2 service account with google adwords api for ruby

2012-10-09 Thread Fredrik Gustafsson
Kinda off topic but just some questions regarding this limit, is it
100 authorizations independent during a certain time limit or am I
missunderstanding? Since you are writing about something about batch.
I am about to launch a platform that will have this amount of users at
the same time.

Regards Fred

2012/10/9 Danial Klimkin :
> Hello Marcin,
>
>
> Please see my reply to the initial post which should cover the issue. I've
> also created an article with more details specific to Ruby:
>
>
> http://googleadsdeveloper.blogspot.com/2012/10/using-oauth20-authorization-method-with.html
>
> Let me know if you have any questions.
>
>
> -Danial, AdWords API Team.
>
>
> On Monday, October 8, 2012 5:58:10 PM UTC+4, Marcin Urbanski wrote:
>>
>> Any update on this? I have exactly the same problem.
>> If Ruby gems won't support it soon, I can use Java.
>>
>> Are there any examples on how to use Service to Service authentication?
>>
>> On Tuesday, August 14, 2012 5:07:08 PM UTC+2, Antony Vorobiev wrote:
>>>
>>> Hello all,
>>>
>>> I was using ClientLogin authorization method in my server application for
>>> several months, but now it throws CaptchaRequired error because of too much
>>> authorization attempts for about 100 client_customer_id in a batch, so I'm
>>> looking for the way to get 100+ client accounts processed (sync campaigns,
>>> fetch campaign statuses, report statistics) in reasonable time (several
>>> minutes) without any user interaction
>>>
>>> according to - https://developers.google.com/accounts/docs/OAuth2 - this
>>> document, the most suitable method for me is OAuth 2.0 Service Account
>>> authorization
>>>
>>> I've got all the credentials - Client ID, Email address, Application name
>>> and private key file, but I still have no idea how can I get this stuff
>>> working.
>>>
>>>
>>> Could you please provide me with an example of how can I access to
>>> Adwords API via OAuth 2.0 Service Account and fetch, for example, account
>>> hierarchy using Ruby Adwords API library?
>
> --
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> 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



-- 

//
MVH / Regards

Fredrik Gustafsson
070-2833674

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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: ReportDefinitionReportType.CALL_METRICS_CALL_DETAILS_REPORT in the com.google.api.adwords.v201206.jaxb.cm.ReportDefinition API is Beta and unavailable?

2012-10-09 Thread Danial Klimkin
Hello Michael,


This report is available to the Beta Program users only at the moment.


-Danial, AdWords API Team.


On Friday, October 5, 2012 5:38:11 PM UTC+4, Michael Caldwell wrote:
>
> Hi Google AdWords API team:
>
> When I run the DownloadAdHocReport.java sample in the v201206 code 
> examples download, just substituting for 
> the CALL_METRICS_CALL_DETAILS_REPORT report type and appropriate Selector 
> fields, I get this:
>
> Report was not downloaded. 500: !!!1|||-1|||BetaError.BETA_FEATURE @ 
> selector.reportDefinition.reportType???
>
> I'm using the Sandbox, not production AdWords, as this is just a 
> development effort at this point.
>
> Did the report fail because it's Beta and therefore not available in the 
> API, or did it fail because it's Beta and therefore not available using the 
> Sandbox API, or am I doing something else wrong?  My boss and stakeholders 
> would be very happy to have this report :-)
>
> Here's the full code (it's your code really - great code samples BTW! - 
> just with the simple changes I needed to run the Call Metrics needed)  :
>
> // Copyright 2012 Google Inc. All Rights Reserved.
>
> //
>
> // Licensed under the Apache License, Version 2.0 (the "License");
>
> // you may not use this file except in compliance with the License.
>
> // You may obtain a copy of the License at
>
> //
>
> // http://www.apache.org/licenses/LICENSE-2.0
>
> //
>
> // Unless required by applicable law or agreed to in writing, software
>
> // distributed under the License is distributed on an "AS IS" BASIS,
>
> // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>
> // See the License for the specific language governing permissions and
>
> // limitations under the License.
>
>
> package v201206;
>
>
> import com.google.api.adwords.lib.AdWordsServiceLogger;
>
> import com.google.api.adwords.lib.AdWordsUser;
>
> import com.google.api.adwords.lib.utils.v201206.ReportDownloadResponse;
>
> import com.google.api.adwords.lib.utils.v201206.ReportUtils;
>
> import com.google.api.adwords.v201206.jaxb.cm.DownloadFormat;
>
> import com.google.api.adwords.v201206.jaxb.cm.ReportDefinition;
>
> import 
> com.google.api.adwords.v201206.jaxb.cm.ReportDefinitionDateRangeType;
>
> import com.google.api.adwords.v201206.jaxb.cm.ReportDefinitionReportType;
>
> import com.google.api.adwords.v201206.jaxb.cm.Selector;
>
>
> import java.io.File;
>
> import java.io.FileOutputStream;
>
> import java.net.HttpURLConnection;
>
> import java.util.List;
>
>
> /**
>
>  * This example adds a keywords performance report. To get ad groups, run
>
>  * GetAllAdGroups.java. To get report columns, run GetReportColumns.java.
>
>  *
>
>  * Tags: ReportDefinitionService.mutate
>
>  *
>
>  * @category adx-exclude
>
>  * @author api.k...@gmail.com  (Kevin Winter)
>
>  */
>
> public class DownloadAdHocReport {
>
>   public static void main(String[] args) {
>
> try {
>
>   // Log SOAP XML request and response.
>
>   AdWordsServiceLogger.log();
>
>
>   // Get AdWordsUser from "~/adwords.properties".
>
>   AdWordsUser user = new AdWordsUser();
>
>
>   // Location to download report to.
>
>   String reportFile = "/tmp/report.csv";
>
>
>   // Create selector.
>
>   Selector selector = new Selector();
>
>   List fields = selector.getFields();
>
>   fields.add("AdGroupId");
>
>   fields.add("Id");
>
>   fields.add("KeywordText");
>
>   fields.add("KeywordMatchType");
>
>   fields.add("Impressions");
>
>   fields.add("Clicks");
>
>   fields.add("Cost");
>
>
>   // Create report definition.
>
>   ReportDefinition reportDefinition = new ReportDefinition();
>
>   reportDefinition.setReportName("Keywords performance report #" + 
> System.currentTimeMillis());
>
>   
> reportDefinition.setDateRangeType(ReportDefinitionDateRangeType.YESTERDAY);
>
>   
> reportDefinition.setReportType(ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT);
>
>   reportDefinition.setDownloadFormat(DownloadFormat.CSV);
>
>   reportDefinition.setIncludeZeroImpressions(false);
>
>   reportDefinition.setSelector(selector);
>
>
>   FileOutputStream fos = new FileOutputStream(new File(reportFile));
>
>   ReportDownloadResponse response = ReportUtils.downloadReport(user, 
> reportDefinition, fos);
>
>   if (response.getHttpStatus() == HttpURLConnection.HTTP_OK) {
>
> System.out.println("Report successfully downloaded: " + 
> reportFile);
>
>   } else {
>
> System.out.println("Report was not downloaded. " + 
> response.getHttpStatus() + ": "
>
> + response.getHttpResponseMessage());
>
>   }
>
> } catch (Exception e) {
>
>   e.printStackTrace();
>
> }
>
>   }
>
> }
>
>
>
>

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

Re: oauth2 service account with google adwords api for ruby

2012-10-09 Thread Danial Klimkin
Hello Marcin,


Please see my reply to the initial post which should cover the issue. I've 
also created an article with more details specific to Ruby:

  
http://googleadsdeveloper.blogspot.com/2012/10/using-oauth20-authorization-method-with.html

Let me know if you have any questions.


-Danial, AdWords API Team.


On Monday, October 8, 2012 5:58:10 PM UTC+4, Marcin Urbanski wrote:
>
> Any update on this? I have exactly the same problem.
> If Ruby gems won't support it soon, I can use Java.
>
> Are there any examples on how to use Service to Service authentication?
>
> On Tuesday, August 14, 2012 5:07:08 PM UTC+2, Antony Vorobiev wrote:
>>
>> Hello all,
>>
>> I was using ClientLogin authorization method in my server application for 
>> several months, but now it throws CaptchaRequired error because of too much 
>> authorization attempts for about 100 client_customer_id in a batch, so I'm 
>> looking for the way to get 100+ client accounts processed (sync campaigns, 
>> fetch campaign statuses, report statistics) in reasonable time (several 
>> minutes) without any user interaction
>>
>> according to - https://developers.google.com/accounts/docs/OAuth2 - this 
>> document, the most suitable method for me is OAuth 2.0 Service Account 
>> authorization
>>
>> I've got all the credentials - Client ID, Email address, Application name 
>> and private key file, but I still have no idea how can I get this stuff 
>> working.
>>
>>
>> Could you please provide me with an example of how can I access to 
>> Adwords API via OAuth 2.0 Service Account and fetch, for example, account 
>> hierarchy using Ruby Adwords API library?
>>
>

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


I don't understant the billing to API adword access

2012-10-09 Thread SebRT
Hey,

i'm going to develop an application like market samurai but more friendly 
and more usefull. Before i have a question.

To use APi adwords in my application, Google ask to create a MCC account to 
have a token. 
But when my application will be finish, i will sell it but for my customers 
which pay for my application or service, who pay every api adwords access ? 
It's me (the MCC acount developer which my token api) or the client which 
use my application with his adwords account ?

For example, market samurai, you buy a market samurai licence but you don't 
pay for use it after and however it uses api adwords (free ?)... So it's 
Market Samurai which pay for ALL acces at ads api ?

Thank you,

Sebastien

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


CriterionError.INVALID_CRITERION_ID on setting location->id on v201209 in sandbox

2012-10-09 Thread Patrick Fischer
Hi,

I'm using the lastest adwords api v201209 with the php client software.

Using the same code in sandbox instead of the production server fails with 
the following message: Fatal error: Uncaught SoapFault exception: 
[soap:Server] [CriterionError.INVALID_CRITERION_ID @ 
selector.searchParameters[2].locations[0]; trigger:'2276']

In v201206 it still works in production and also in sandbox.

Greetings

$selector = new TargetingIdeaSelector();
$selector->requestType = 'STATS';
$selector->ideaType = 'KEYWORD';
$selector->requestedAttributeTypes = array('KEYWORD_TEXT', 'COMPETITION', 
'SEARCH_VOLUME');
$selector->localeCode = 'de_DE';
$selector->currencyCode = 'EUR';

$paging = new Paging();
$paging->startIndex = 0;
$paging->numberResults = 500;
$selector->paging = $paging;

$relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
$relatedToQuerySearchParameter->queries = $kwList;

$location = new Location();
$location->id = 2276; //2040

$locationSearchParameter = new LocationSearchParameter();
$locationSearchParameter->locations = array( $location );

$language = new Language();
$language->id = 1001;

$languageSearchParameter = new LanguageSearchParameter();
$languageSearchParameter->languages = array( $language );

$selector->searchParameters = 
array($relatedToQuerySearchParameter,$locationSearchParameter,$languageSearchParameter);

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