Re: Unmarshalling Error while trying to create unit product partitions

2019-04-17 Thread Peter Bowen
You might try passing the max cpc in micros instead of as a string.

On Tuesday, 16 April 2019 11:01:02 UTC+1, fra...@shocksurplus.com wrote:
>
> I'm trying to create a number of products but am getting:
>
> zeep.exceptions.Fault: Unmarshalling Error: For input string: "0.60291" 
> [ While handling...]
> googleads.errors.GoogleAdsServerFault: Unmarshalling Error: For input 
> string: "0.60291"
>
> Every time I call mutate on the helper, I get the error on whatever the 
> first value passed was.
> I can run it where the value is 0, or nothing is passed there at all and 
> it will successfully generate the partition tree and push it to the 
> adgroups (But of course they are excluded because they were given no max 
> CPC)
>
> I am working in Python3, api version v201809.
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/41be90ad-949e-4037-a0a3-e0ab8adb6ef1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Get keywords related to a seed keyword

2019-04-12 Thread Peter Bowen
The junk text you're getting happens when you're using a test account or if 
your token hasn't been approved yet.

On Thursday, 11 April 2019 14:00:58 UTC+1, neetu varshney wrote:
>
> Hello Team,
> As i am using Google Adword api for getting related keyword ideas, 
> I am using "GetKeywordIdeas" apis for getting the keywords value.
>
>  $targetingIdeaService = $adWordsServices->get($session, 
> TargetingIdeaService::class);
>
> // Create selector.
> $selector = new TargetingIdeaSelector();
> *$selector->setRequestType(RequestType::IDEAS);*
> $selector->setIdeaType(IdeaType::KEYWORD);
> $selector->setRequestedAttributeTypes(
> [
> AttributeType::KEYWORD_TEXT,
> AttributeType::SEARCH_VOLUME,
> AttributeType::AVERAGE_CPC,
> AttributeType::COMPETITION,
> AttributeType::CATEGORY_PRODUCTS_AND_SERVICES
> ]
> );
>
>  /**
>  * Copyright 2017 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.
>  */
>
> namespace Google\AdsApi\Examples\AdWords\v201809\Optimization;
>
> require __DIR__ . '/../../../../vendor/autoload.php';
>
> use Google\AdsApi\AdWords\AdWordsServices;
> use Google\AdsApi\AdWords\AdWordsSession;
> use Google\AdsApi\AdWords\AdWordsSessionBuilder;
> use Google\AdsApi\AdWords\v201809\cm\Language;
> use Google\AdsApi\AdWords\v201809\cm\NetworkSetting;
> use Google\AdsApi\AdWords\v201809\cm\Paging;
> use Google\AdsApi\AdWords\v201809\o\AttributeType;
> use Google\AdsApi\AdWords\v201809\o\IdeaType;
> use Google\AdsApi\AdWords\v201809\o\LanguageSearchParameter;
> use Google\AdsApi\AdWords\v201809\o\NetworkSearchParameter;
> use Google\AdsApi\AdWords\v201809\o\RelatedToQuerySearchParameter;
> use Google\AdsApi\AdWords\v201809\o\RequestType;
> use Google\AdsApi\AdWords\v201809\o\SeedAdGroupIdSearchParameter;
> use Google\AdsApi\AdWords\v201809\o\TargetingIdeaSelector;
> use Google\AdsApi\AdWords\v201809\o\TargetingIdeaService;
> use Google\AdsApi\Common\OAuth2TokenBuilder;
> use Google\AdsApi\Common\Util\MapEntries;
>
> /**
>  * This example gets keyword ideas related to a seed keyword.
>  */
> class GetKeywordIdeas
> {
>
> // If you do not want to use an existing ad group to seed your request, 
> you
> // can set this to null.
> const AD_GROUP_ID = 'INSERT_AD_GROUP_ID_HERE';
> const PAGE_LIMIT = 500;
>
> public static function runExample(
> AdWordsServices $adWordsServices,
> AdWordsSession $session,
> $adGroupId
> ) {
> $targetingIdeaService = $adWordsServices->get($session, 
> TargetingIdeaService::class);
>
> // Create selector.
> $selector = new TargetingIdeaSelector();
> $selector->setRequestType(RequestType::IDEAS);
> $selector->setIdeaType(IdeaType::KEYWORD);
> $selector->setRequestedAttributeTypes(
> [
> AttributeType::KEYWORD_TEXT,
> AttributeType::SEARCH_VOLUME,
> AttributeType::AVERAGE_CPC,
> AttributeType::COMPETITION,
> AttributeType::CATEGORY_PRODUCTS_AND_SERVICES
> ]
> );
>
> $paging = new Paging();
> $paging->setStartIndex(0);
> $paging->setNumberResults(10);
> $selector->setPaging($paging);
>
> $searchParameters = [];
> // Create related to query search parameter.
> $relatedToQuerySearchParameter = new RelatedToQuerySearchParameter();
> $relatedToQuerySearchParameter->setQueries(
> [
> 'bakery',
> 'pastries',
> 'birthday cake'
> ]
> );
> $searchParameters[] = $relatedToQuerySearchParameter;
>
> // Create language search parameter (optional).
> // The ID can be found in the documentation:
> // 
> https://developers.google.com/adwords/api/docs/appendix/languagecodes
> $languageParameter = new LanguageSearchParameter();
> $english = new Language();
> $english->setId(1000);
> $languageParameter->setLanguages([$english]);
> $searchParameters[] = $languageParameter;
>
> // Create network search parameter (optional).
> $networkSetting = new NetworkSetting();
> $networkSetting->setTargetGoogleSearch(true);
> 

Re: Is it possible to get keywords from a phrase using TargetingIdeaService?

2018-08-17 Thread Peter Bowen
Hi Corinne.

I've had better luck using the keywords in the ad group instead of the ad 
copy, but it still requires human filtration to get rid of the junk.

On Friday, 17 August 2018 10:21:45 UTC+1, corinn...@dentsuaegis.com wrote:
>
>
> Hi,
>
>  
>
> I’m currently doing a project to help media planners improve their process 
> of creating ads by using AdWords API. One of the issues we want to solve is 
> to help planners generate keywords from their ad copy. I tried using the 
> TargetingIdeaService in AdWords API to do so, but I’m not sure if I’m doing 
> it the right way, because some of the keywords aren’t relevant to the ad 
> copy. 
>
>  
>
> For example, I used ‘KEYWORD’ as the selector ideaType, and “2018 
> Mitsubishi Eclipse Cross ; Designed To Transcend ; Mitsubishi 's All - New 
> Crossover With Striking Design & Super All - Wheel Control” as the query. 
>
>  
>
> However, TargetingIdeaService returns other models as keywords such as 
> “Mitsubishi Outlander”, which is not exactly relevant to the ad copy. So is 
> it possible to get relevant keywords from the ad? 
>
>  
>
> Thanks! 
>
> Corinne
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/60dbc73f-1745-4022-b048-e644bc6e3287%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: New Google Ads API - pubsub model

2018-08-14 Thread Peter Bowen
This would be great - post events to a webhook rather than having to poll 
for them.

On Tuesday, 14 August 2018 11:31:19 UTC+1, Jiri S wrote:
>
> Hi,
>
> we have started recently using new Google Ads API with grpc transport 
> layer and I was wondering if you have somewhere on your roadmap planned 
> support for subscribing to metrics or other changes. 
>
> I can image use cases like
> - getting regularly campaign cost/clicks/avg cpc updates or after certain 
> threshold is reached
> - getting changes in account for auditing purposes
>
> Thanks,
> Jiri S.
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/4f0fb364-7d3e-4c10-8ade-7a742659061b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Post API Results from TrafficEstimatorService on Website

2018-06-19 Thread Peter Bowen
This is possible. You'd need some code to grab the data from Google, store 
it in your database or a file and then turn it into html to display on your 
site.

That's the simplistic version. It needs some thought around whether this 
would class as an internal use app or a full service tool and if you'd have 
to implement the Required Minimum Functionality.



On Tuesday, 19 June 2018 10:47:02 UTC+1, Patt Rick wrote:
>
> Hi,
>
> my question is the following:
> Is it possible to analyze the searchvolume for different keywords and 
> publish the results on a website?
> For example I would like to analyze the searches for different car models 
> and calculate the popularity/interest over time.
>
> Thanks :)
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/35d0a89c-4694-4fed-9933-a655207f4b32%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AdGroupAd validation check

2018-06-12 Thread Peter Bowen
Why not use the validation only option on the session? That way you don't 
have to create and delete ads.

On Tuesday, 12 June 2018 07:49:42 UTC+1, sa wrote:
>
> Hi AdWords API Support team,
>
> I realise that the AdGroupAd has a lot of policy and potential error when 
> it comes to creation via API. Therefore I created an AdGroup to service 
> that creates AdGroupAds and returns any error/violations if any are found 
> during creation. Once this Ad is created, I have will remove it immediately 
> as my aim is to check of the parameters of the AdGroupAd creation is valid. 
> However, I have recently received an email saying: "One website per ad 
> group" and a warning saying that "Repeated violations of our Advertising 
> Policies may result in a suspension of your AdWords account".
>
> I checked the ads and the ads seems to be created because of this 
> validation check. I followed the remove ad sample to remove the ad, so I 
> would like to know if there are any ways to make sure the ad is removed? Or 
> any other methods to validate the validity of the parameters of the 
> AdGroupAd?
>
> Thanks,
> SA
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/2876c9c2-fd20-4d8d-8fbb-35369c185fca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Configuring the adsapi_php.ini file / Error type : All of 'clientId', 'clientSecret', and 'refreshToken' must be set when using installed/web application flow.

2018-06-11 Thread Peter Bowen
Unless I'm mistaken you have to have a developer token, even if you're 
using test accounts.

On Friday, 8 June 2018 14:54:20 UTC+1, SnowYou wrote:
>
> Hi,
>
> I'm trying to use the adWords API in a web application, but it seems that 
> my authentification file is incorrect.
> Here it is :
>
> [ADWORDS]
> ; Required AdWords API properties. Details can be found at:
> ; 
> https://developers.google.com/adwords/api/docs/guides/basic-concepts#soap_and_xml
> developerToken = "" ;Nothing here because I'm using a test account ?
> clientCustomerId = "XXX-XXX-"
>
> ; Optional. Set a friendly application name identifier.
> ; userAgent = "INSERT_USER_AGENT_HERE"
>
> ; Optional additional AdWords API settings.
> ; endpoint = "https://adwords.google.com/;
> ; isPartialFailure = false
>
> ; Optional setting for utility usage tracking in the user agent in 
> requests.
> ; Defaults to true.
> ; includeUtilitiesInUserAgent = true
>
> [ADWORDS_REPORTING]
> ; Optional reporting settings.
> ; isSkipReportHeader = false
> ; isSkipColumnHeader = false
> ; isSkipReportSummary = false
> ; isUseRawEnumValues = false
>
> [OAUTH2]
> ; Required OAuth2 credentials. Uncomment and fill in the values for the
> ; appropriate flow based on your use case. See the README for guidance:
> ; 
> https://github.com/googleads/googleads-php-lib/blob/master/README.md#getting-started
>
> ; For installed application or web application flow.
> clientId = "
> 1291XXq61.apps.googleusercontent.com"
> clientSecret = "M6XXXDr"
> refresh_token = 
> "1/FzXv4y8yZhAP"
>
> ; For service account flow.
> ; jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
> ; scopes = "https://www.googleapis.com/auth/adwords;
> ; impersonatedEmail = "INSERT_EMAIL_OF_ACCOUNT_TO_IMPERSONATE_HERE"
>
> [SOAP]
> ; Optional SOAP settings. See SoapSettingsBuilder.php for more information.
> ; compressionLevel = 
>
> [CONNECTION]
> ; Optional proxy settings to be used by requests.
> ; If you don't have username and password, just specify host and port.
> ; proxy = "protocol://user:pass@host:port"
> ; Enable transparent HTTP gzip compression for all reporting requests.
> ; enableReportingGzip = false
>
> [LOGGING]
> ; Optional logging settings.
> ; soapLogFilePath = "path/to/your/soap.log"
> ; soapLogLevel = "INFO"
> ; reportDownloaderLogFilePath = "path/to/your/report-downloader.log"
> ; reportDownloaderLogLevel = "INFO"
> ; batchJobsUtilLogFilePath = "path/to/your/bjutil.log"
> ; batchJobsUtilLogLevel = "INFO"
>
> Is something wrong ? Or is this error coming from something else ?
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/82421268-5024-4fd8-8193-c0e33c498686%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: PHP Adwords API - refresh_token authorization

2018-06-05 Thread Peter Bowen
Hi Nik.

The example code looks like this:

$oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();



You should change that to look like this if you want to pass your OAuth2 
credentials in from a db instead of from the file.

Enter code here...$oAuth2Credential = (new OAuth2TokenBuilder())

->withClientId(your oauth2 client id here)
->withClientSecret(your oauth2 client secret here)
->withRefreshToken(your stored refresh token here)
->build();





On Monday, 4 June 2018 19:02:00 UTC+1, nnik wrote:
>
> Hi folks, 
>
> I want to ask the adwords api to request my campaigns.
>
> I am using this simple example:
>
> $redirectUri = 'http://xxx/dashboard/accounts/oauth2callback';
> $code = $_GET['code'];
>
> $oauth2 = new OAuth2([
> 'authorizationUri' => 'https://accounts.google.com/o/oauth2/v2/auth',
> 'tokenCredentialUri' => 'https://www.googleapis.com/oauth2/v4/token',
> 'redirectUri' => $redirectUri,
> 'clientId' => $this->client_id,
> 'clientSecret' => $this->client_secret,
> 'scope' => ''
> ]);
>
> $oauth2->setCode($code);
> $authToken = $oauth2->fetchAuthToken();
>
> // Store the refresh token for your user in your local storage if you
> // requested offline access.
> $refreshToken = $authToken['refresh_token'];
> Now I have the access_token and the refresh_token.
>
> How can I use this to request google adwords now? When I am checking this 
> example: 
> https://developers.google.com/adwords/api/docs/samples/php/basic-operations
>
> The authentication data is coming from some local file, but I have the 
> data in my array above and the tokens are coming from the DB. 
>
> Thanks
> Nik
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/1aa965af-0dde-4913-82d9-7ae60e36fc87%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Key Word Serch Tool

2018-05-15 Thread Peter Bowen
Hi Chris.

I built a browser based keyword research tool using the API. I use it 
almost every day.

Happy to have a chat with you about what you plan to do. Hit me up by PM or 
add more detail here.



On Tuesday, 15 May 2018 02:21:07 UTC+1, in...@evakos.com wrote:
>
> Hello,
>
> Has anyone successfully created a browser based key word search tool using 
> the API?
>
> Chris
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/d58de760-7c82-46cb-9cf2-f7a1c87b4f1b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Using dynamic customerId

2018-05-14 Thread Peter Bowen
Hi Stephen.

Without seeing your code I can't comment, but, the code in the gist has 
already instantiated the Oauth2TokenBuilder so you wouldn't need to do that 
again.

I've written a high-level article about using multiple oauth tokens 
here: https://pete-bowen.com/adwords-api-authorize-multiple-users



On Monday, May 14, 2018 at 4:38:13 PM UTC+1, Stephen Barrett wrote:
>
> I'm using the method that Sean Bayer created in using client's customer ID 
> when authenticating. 
> https://gist.github.com/shawnbayer/87186ec3cc73d3b7788433b5b02bc814
>
> (I'm a newb) I'm assuming I would need to create an instance within the 
> file I'm using to create a new OAuth2TeokenBuiler using this new file I 
> have created and then have 
> "->withClientId( $variable ) in the same instance. 
>
> On Monday, May 14, 2018 at 2:38:02 AM UTC-6, Peter Bowen wrote:
>>
>> Hi Stephen.
>>
>> In PHP you can pass the client customer id in using the withClientId() 
>> method in OAuth2TokenBuilder.php
>>
>> You can also pass in the OAuth2 refresh token in a similar if you're 
>> making the call using the client's credentials rather than your manager 
>> account's credentials.
>>
>> I'm guessing there is a similar way to do it if you're using one of the 
>> other libraries.
>>
>> On Saturday, 12 May 2018 00:04:34 UTC+1, Stephen Barrett wrote:
>>>
>>> I've successfully been able to get client's customer ID number during 
>>> authentication. What is the best procedure on how to use that Client 
>>> CustomerId instead of the customerId in the ini file?
>>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/b68c7394-b23f-4e54-bdc0-c6bd3505cb2f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Is it possible to pull all AdWords data in one API call?

2018-05-14 Thread Peter Bowen
Hi Elizabeth.

You probably can't get everything you need in one call, but it is possible 
to get quite a lot of data from a single report. For instance, you can use 
get most of an account's structure (campaigns, ad groups, ads etc) from the 
ad performance report by selecting those fields in the report definition.

There are some downsides to this approach though - you might need fewer 
calls to the API to get the data, but processing huuge reports can take 
some time. I'm currently working on a project where we're assembling the 
account structure locally from a big report, and it takes about 10 minutes 
of processing time per account.



On Thursday, 10 May 2018 01:34:05 UTC+1, Elizabeth Clark wrote:
>
> Hi, 
>
> We are trying to pull in all AdWords API data, however in looking at the 
> API it looks like we'd need to make individual calls by reports. However, 
> if we want to pull ALL reports (i.e., all data from AdWords) is that 
> possible in one call? If so, how do we do this as we couldn't find 
> documentation. 
>
> Thanks! 
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/ad1891c2-5d26-4cf3-9664-0d08f003aa36%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Using dynamic customerId

2018-05-14 Thread Peter Bowen
Hi Stephen.

In PHP you can pass the client customer id in using the withClientId() 
method in OAuth2TokenBuilder.php

You can also pass in the OAuth2 refresh token in a similar if you're making 
the call using the client's credentials rather than your manager account's 
credentials.

I'm guessing there is a similar way to do it if you're using one of the 
other libraries.

On Saturday, 12 May 2018 00:04:34 UTC+1, Stephen Barrett wrote:
>
> I've successfully been able to get client's customer ID number during 
> authentication. What is the best procedure on how to use that Client 
> CustomerId instead of the customerId in the ini file?
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/b5c2731e-868d-4147-8d97-f280c60f7934%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Best Practices for working with reports?

2018-05-09 Thread Peter Bowen
Hi.

I think you're doing it the right way by separating the scripts. That's 
good programming practice.

I don't know how good python is at freeing memory but if you're handling a 
really big report it might be better to keep the get report and process 
report functions separate as you have them to avoid timeout or memory out 
errors.

On Tuesday, 8 May 2018 21:37:18 UTC+1, Nellle Rickchards wrote:
>
> Hello,
>
> I'm working with GetReportDownloader and following some of the examples 
> Google has provided (
> https://developers.google.com/adwords/api/docs/samples/python/reporting#download-criteria-report-as-a-stream-with-awql
> ).
>
> Currently I do this:
>
> Sctipt 1:
> - Download adwords report to a CSV file
>
> Script 2:
> - Open CSV file as a pandas dataframe
> - Does some calculations/analysis using the dataframe
>
> Is this the right way of doing it? Is it possible to save the report 
> directly to a pandas dataframe or other python datatype instead of 
> downloading it to my local system? 
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/d36b4cd9-abec-4970-a98a-789cc5b5fe71%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: For Hire?

2018-04-28 Thread Peter Bowen
Hi Tony.

That is exactly my thing. Happy to have a no obligation chat about what you 
plan to do.

You should take a look at this article on the pitfalls of using the API 
before you start 
https://pete-bowen.com/how-to-use-the-google-adwords-api-to-automate-adwords

On Friday, 27 April 2018 10:04:23 UTC+1, to...@cysppc.com wrote:
>
> Anyone available for hire? I run a PPC agency. We've been using a system 
> to monitor changes to Adwords accounts that's requiring quite a bit of 
> manual data entry out of Adwords and into Google Sheets and we'd love to 
> automate some of it. 
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/298058b7-07ea-4d90-a4b2-f15b31ad5cbd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Adwords Api AD_PERFORMANCE_REPORT v201710

2018-04-27 Thread Peter Bowen
Hi Deniz.

Have you set the report to show rows with zero impressions? If you're not 
showing ads with zero impressions it might account for the missing ads in 
the report.

If the missing ads are all paused or enabled you might have to check the 
Status filter in your report definition.

On Friday, 27 April 2018 06:55:34 UTC+1, Peter Oliquino (AdWords API Team) 
wrote:
>
> Hi Deniz,
>
> I had to repost your initial post and removed your account information for 
> security purposes. For future posts, you may refer to our forum posting 
> guidelines 
> 
>  in 
> order to avoid exposing sensitive information in this public forum.
>
> *"Hi,*
>
> *we have a problem with the adwords "AD_PERFORMANCE_REPORT" - v201710.*
>
> *Here we get back a row for each ad, but some ads are missing, which we 
> get for example in the Adwords Dashboard.*
>
> *We have the missing ads compared to those that are in the api result, but 
> unfortunately could not find any difference in the configuration.*
>
> *Following ReportFields are enabled:*
> *'Id',*
> *'Cost',*
> *'Engagements',*
> *'CampaignId',*
> *'AdGroupId',*
> *'Date',*
> *'Impressions',*
> *'ActiveViewCpm',*
> *'Clicks',*
> *'Ctr',*
> *'ActiveViewCtr',*
> *'AllConversions',*
> *'Interactions',*
> *'InteractionTypes',*
> *'AverageCpc',*
> *'AverageCpm',*
> *'ActiveViewCpm',*
> *'AverageCpv',*
> *'VideoViews',*
> *'VideoViewRate',*
> *'VideoQuartile25Rate',*
> *'VideoQuartile50Rate',*
> *'VideoQuartile75Rate',*
> *'VideoQuartile100Rate',*
> *'ViewThroughConversions',*
> *'AveragePosition',*
> *'ActiveViewMeasurability',*
> *'ActiveViewMeasurableCost',*
> *'AdNetworkType1',*
> *'AdNetworkType2',*
> *'CampaignName',*
> *'AdGroupName',*
> *'AdType',*
> *'Description',*
> *'DisplayUrl',*
> *'Headline',*
> *'ImageAdUrl'*
>
> *The affected Ad Account ID is: XXX-XXX-*
> *We want to display the ads segmented by date - but some are missing. And 
> we cant get behind why :/"*
>
> *Thanks in advance!*
> *Deniz Laun*
>
> Best regards,
> Peter
> AdWords API Team
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/ed372e17-5c11-4a31-aad3-8d895efad3c6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Adwords API PHP Oauth2: invalid_grant when refreshing token

2012-10-05 Thread Peter Bowen
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


ServicedAccountService, v201101 returning UNEXPECTED_INTERNAL_API_ERROR

2011-11-23 Thread Peter Bowen
The php script recently started failing on all requests. There have
been no changes to any of our code since the last successful execution
a day or so ago.

Here is an example from the error log.

[Nov 23 2011 01:48:18.00 - ERROR] POST /api/adwords/mcm/v201101/
ServicedAccountService HTTP/1.1
Host: adwords.google.com
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.2.13, gzip
Accept-Encoding: gzip, deflate
Content-Encoding: gzip
Content-Type: text/xml; charset=utf-8
SOAPAction: 
Content-Length: 596

?xml version=1.0 encoding=UTF-8?
SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/
envelope/ xmlns:ns1=https://adwords.google.com/api/adwords/mcm/
v201101 xmlns:ns2=https://adwords.google.com/api/adwords/cm/v201101;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
  SOAP-ENV:Header
ns1:RequestHeader xmlns:ns2=https://adwords.google.com/api/
adwords/cm/v201101 xsi:type=ns2:RequestHeader
  ns2:authToken*/ns2:authToken
  ns2:clientCustomerId6402971385/ns2:clientCustomerId
  ns2:developerToken[REDACTED]/ns2:developerToken
  ns2:userAgentAwApi-PHP-2.6.3-Marketing Motor/ns2:userAgent
/ns1:RequestHeader
  /SOAP-ENV:Header
  SOAP-ENV:Body
ns1:get
  ns1:selector
ns1:enablePagingfalse/ns1:enablePaging
  /ns1:selector
/ns1:get
  /SOAP-ENV:Body
/SOAP-ENV:Envelope


HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Wed, 23 Nov 2011 07:48:18 GMT
Expires: Wed, 23 Nov 2011 07:48:18 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Length: 433
Server: GSE

?xml version=1.0?
soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;
  soap:Body
soap:Fault
  faultcodesoap:Server/faultcode
  faultstringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR @
com.google.ads.api.services.common.error.InternalApiError.lt;initgt;
(InternalApiErro/faultstring
  detail
ApiExceptionFault xmlns=https://adwords.google.com/api/
adwords/mcm/v201101 xmlns:ns2=https://adwords.google.com/api/adwords/
cm/v201101
  ns2:messageInternalApiError.UNEXPECTED_INTERNAL_API_ERROR
@
com.google.ads.api.services.common.error.InternalApiError.lt;initgt;
(InternalApiErro/ns2:message
  ns2:ApplicationException.TypeApiException/
ns2:ApplicationException.Type
  ns2:errors xmlns:xsi=http://www.w3.org/2001/XMLSchema-
instance xsi:type=ns2:InternalApiError
ns2:fieldPath/
ns2:trigger/
 
ns2:errorStringInternalApiError.UNEXPECTED_INTERNAL_API_ERROR/
ns2:errorString
ns2:ApiError.TypeInternalApiError/ns2:ApiError.Type
ns2:reasonUNEXPECTED_INTERNAL_API_ERROR/ns2:reason
  /ns2:errors
/ApiExceptionFault
  /detail
/soap:Fault
  /soap:Body
/soap:Envelope


What other information do you need to suggest an answer?

Thanks

Pete Bowen

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 to deal with aggressive counterfeit designer goods policy

2011-10-04 Thread Peter Bowen
Thanks for the quick response, and sorry, I should have RTFM.  After 3 solid 
weeks of caffiene fueled coding I was a little emotional in my response to 
the api accusing my client of selling counterfeit goods!

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


How to deal with aggressive counterfeit designer goods policy

2011-10-03 Thread Peter Bowen
My client sells legal services - not knock-off handbags but, uploading 
adverts via the API has proved troublesome.  Here's a snippet of the first 
request that failed.

SOAP-ENV:Body
ns1:mutate
  ns1:operations
ns1:operatorADD/ns1:operator
ns1:operand
  ns1:adGroupId2295083885/ns1:adGroupId
  ns1:ad 
xmlns:ns1=https://adwords.google.com/api/adwords/cm/v201101; 
xsi:type=ns1:TextAd

ns1:urlhttp://www.divorce-sa.co.za/divorce-advice.php?ad=2011092725f8bc0311d3ffee78269318c3714708/ns1:url

ns1:displayUrldivorce-sa.co.za/Advice-On-Divorce/ns1:displayUrl
ns1:headlineWant Advice On Divorce?/ns1:headline
ns1:description1Get Advice on Divorce From 
Our/ns1:description1
ns1:description2Nationwide Specialists./ns1:description2
  /ns1:ad
/ns1:operand
  /ns1:operations
/ns1:mutate
  /SOAP-ENV:Body

and the response

soap:Fault
  faultcodesoap:Server/faultcode
  faultstring[PolicyViolationError.POLICY_ERROR @ 
operations[0].operand.ad.displayUrl]/faultstring
  detail
ApiExceptionFault 
xmlns=https://adwords.google.com/api/adwords/cm/v201101;
  message[PolicyViolationError.POLICY_ERROR @ 
operations[0].operand.ad.displayUrl]/message
  
ApplicationException.TypeApiException/ApplicationException.Type
  errors xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; 
xsi:type=PolicyViolationError
fieldPathoperations[0].operand.ad.displayUrl/fieldPath
trigger/
errorStringPolicyViolationError.POLICY_ERROR/errorString
ApiError.TypePolicyViolationError/ApiError.Type
key
  policyNamecounterfeit_designer_goods/policyName
  violatingTextsa/violatingText
/key
externalPolicyNameCounterfeit Goods/externalPolicyName
externalPolicyUrl/
externalPolicyDescriptionGoogle does not permit the 
advertisement of websites selling counterfeit goods. Please see our full 
policy at:

http://adwords.google.com/support/bin/static.py?page=guidelines.csamp;topic=9271amp;subtopic=9279amp;answer=47215/externalPolicyDescription
isExemptabletrue/isExemptable
violatingParts
  index8/index
  length3/length
/violatingParts
  /errors
/ApiExceptionFault
  /detail
/soap:Fault

All subsequent adverts were rejected with the same notice.

A human review would sort this out.  Is there any way of requesting this 
from the API?

Thanks

Pete

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