AdGroupAdService not providing all Ads - v201406

2014-07-17 Thread MWA

Hi,

I am trying to retreive Ads data from adwords API v201406.

I am getting stats like this

$reportQuery = "SELECT 
AveragePosition,AverageCpc,AverageCpm,Impressions,Clicks,Cost,Ctr,Conversions,ConversionRate,CostPerConversion,
ViewThroughConversions,ConversionsManyPerClick,ConversionRateManyPerClick,CostPerConversionManyPerClick,AdNetworkType1,Id,AdGroupId
FROM AD_PERFORMANCE_REPORT";

$reportQuery .= " DURING " . $dateRange;

$options = array('version' => ADWORDS_LATEST_VERSION);

$stats =  ReportUtils::DownloadReportWithAwql($reportQuery, $Path, $user, 
$reportFormat, $options);



Then I am converting $stats into array format $statsArray and then 
collecting all AdIds. After that I am trying to retrieve other data from 
AdGroupAdService using code below. $adIds have all the AdIds parsed from 
$statsArray.

$adGroupAdService = $user->GetService('AdGroupAdService', 
ADWORDS_LATEST_VERSION);

$selector = new Selector();

$selector->fields = array('Id','AdGroupId','Status','DisplayUrl',
'AdGroupAdDisapprovalReasons','Headline','Description1','Description2',
'ImageCreativeName','MobileAdDescription','MobileAdMarkupLanguages',
'MobileAdMobileCarriers','MobileAdBusinessName','MobileAdCountryCode',
'MobileAdPhoneNumber','MediaId','Dimensions','Urls','MimeType','SourceUrl',
'FileSize','CreationTime','ReferenceId','TemplateId','TemplateAdUnionId',
'UniqueName','TemplateElementFieldName','TemplateElementFieldType',
'TemplateElementFieldText');

$selector->predicates[] = new Predicate('Id', 'IN', $adIds);

$page = $adGroupAdService->get($selector);



The problem is $stat is providing 680 unique Ads data, and I am sending 
these 680 AdIds to AdGroupAdService to get other data, but AdGroupAdService 
is providing only 480 records.

I have also tried to retrive data by sending actual AdIds which are present 
in $statsArray but not present in $page but no result.

$selector->predicates[] = new Predicate('Id', 'IN', $adIds);



And I have also tried to retrive data by sending AdGroupId of the 
particular AdId which are present in $statsArray but not present in $page 
still no result.


$selector->predicates[] = new Predicate('AdGroupId', 'IN', $adGroupIds);



Please Help me.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread NET_Api_User
+1. We're seeing a huge number of these errors - on about 2% of our calls. 
Retrying seems to help. We moved to the latest .NET release recently. 

On Thursday, July 17, 2014 4:04:29 PM UTC+5:30, Zweitze wrote:
>
> Hi,
>
> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
> Failed to refresh access token.
> {
> "error" : "invalid_client"
> }
>
> Unfortunately the .NET library destroyed all extra information, so I don't 
> have response headers, HTTP status code etc.
> Anyway, the error occurred a eight times in total, between 05.25h and 
> 07.41h (CEST), but in that period we also did manage to retrieve access 
> tokens. Before that, or after that, we had no problems.
>
> So, what does the error mean? Obviously it doesn't mean that the supplied 
> clientid and clientsecret do not exist.
> And how does one handle this error? Can one retry the call?
>
> Thanks in advance!
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ReportUtilities.DownloadClientReport throws System.NullReferenceException

2014-07-17 Thread NET_Api_User
We encounter this too. Added retry logic and that seems to have fixed it. 
Its bad though to have to catch a NullRef and retry on that.

On Thursday, July 17, 2014 8:22:00 PM UTC+5:30, Stephen Gilles wrote:
>
> I have the same issue - using v18. I've searched extensively in this 
> group, finding many similar issues, but no specific solution... 
>
> Steve
>
>
> On Monday, June 9, 2014 11:49:58 AM UTC-7, Anash P. Oommen (AdWords API 
> Team) wrote:
>>
>> Hi Peter,
>>
>> I thought I fixed this error. Could you kindly download the source 
>> distribution from 
>> https://github.com/googleads/googleads-adwords-dotnet-lib/releases/tag/v16.6.0
>>  
>> and let me know what line this exception is being thrown?
>>
>> Cheers,
>> Anash P. Oommen,
>> AdWords API Advisor.
>>
>> On Wednesday, June 4, 2014 12:16:04 PM UTC-4, Peter Kingswell wrote:
>>>
>>> Hi,
>>>
>>> we download campaign performance stats on a daily basis and encounter 
>>> this exception fairly regularly.  Is anyone else seeing this? :
>>>
>>> Exception System.NullReferenceException: Object reference not set to an 
>>> instance of an object.
>>> at 
>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
>>>  
>>> downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
>>> outputStream)
>>> at 
>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
>>>  
>>> downloadUrl, String postBody, Boolean returnMoneyInMicros, String path)
>>> at 
>>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T
>>>  
>>> reportDefinition, Boolean returnMoneyInMicros, String path)
>>>
>>> AFAICT the problematic invocations are not significantly different to 
>>> other successful invocations.  It occurs irrespective 
>>> of ReportDefinitionReportType.  Here is how we create the ReportDefinition:
>>>
>>> ReportDefinition definition = new ReportDefinition();
>>> definition.reportName = "blah";
>>> definition.reportType = 
>>> ReportDefinitionReportType.CAMPAIGN_PERFORMANCE_REPORT;
>>> definition.downloadFormat = DownloadFormat.CSV;
>>> definition.includeZeroImpressions = true;
>>> definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;
>>> Selector selector = new Selector();
>>> selector.fields = ... dictionary of fields ...;
>>> definition.selector = selector;
>>>
>>> This is with Assembly Google.AdWords.dll, v16.6.0.0.
>>>
>>> Many thanks, Peter
>>>
>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Video Ads - How to pull metrics from Adwords API.

2014-07-17 Thread Ed-
Hi,

I just noticed there is a new version of the API - 201406, could not find 
anything about download metrics about video ads.

Any update on this question?

Thank you,


On Wednesday, January 25, 2012 10:16:36 AM UTC-2, Nakul Ringshia wrote:
>
> Hi 
>
> I need to pull the following metrics for the video ads 
> Ad 
> Ad previews 
> Video 
> Impressions 
> Views 
> View Rate 
> Avg. CPV 
> Total Cost 
> Website clicks 
>
> I looked at the Ad Performance reports but it does not provide the 
> above fields. How can the retrieve the above metrics using the AdWords 
> API. 
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: GetRefreshToken.php > Error: disabled_client The OAuth client was disabled.

2014-07-17 Thread Ray Tsang (AdWords API Team)
Sarah,

Lastly, please send me screenshot of the cloud console for that project in 
private.

Thanks!

On Thursday, July 17, 2014 4:26:43 PM UTC-4, Ray Tsang (AdWords API Team) 
wrote:
>
> Sarah,
>
> Were you using an existing project or a brand new one?  If you haven't 
> tried yet, please create a brand new project 
> .
>
> Thanks!
>
> Ray
>
> On Thursday, July 17, 2014 5:05:29 AM UTC-4, Sarah Gilmore wrote:
>>
>> Hi Ray
>>
>> When I execute the url provided by the script I get the following error 
>> on screen:
>>
>> 401 Error: disabled_client
>>
>> The OAuth client was disabled.
>>
>> Request Details
>> scope=https://www.googleapis.com/auth/adwords
>> response_type=code
>> access_type=offline
>> redirect_uri=urn:ietf:wg:oauth:2.0:oob
>> client_id=[there is a new id generated here]
>>
>> If I paste my client id into the string and try again it gets me past the 
>> consent screen and generates the code, but then I get the following error 
>> on the command line:
>>
>> Your OAuth2 Credentials are incorrect.
>> Please see the GetRefreshToken.php example.
>> {
>>   "error" : "disabled_client",
>>   "error_description" : "The OAuth client was disabled."
>> }
>>
>> I've checked and double checked the code string and my OAuth2 details in 
>> auth.ini so not sure whats wrong.
>>
>> Thanks
>>
>> On Wednesday, 16 July 2014 19:56:32 UTC+1, Ray Tsang (AdWords API Team) 
>> wrote:
>>>
>>> Sarah,
>>>
>>> Could I trouble you to send me the exact errors that you've received? 
>>>  The authorization code is long (it sometimes doesn't fully display in the 
>>> text box) - please make sure the entire string is selected and pasted.
>>>
>>> Thanks,
>>>
>>> Ray
>>>
>>> On Wednesday, July 16, 2014 9:20:58 AM UTC-4, Sarah Gilmore wrote:

 Hi, I am having the same issue as Jake (above). I'm using the PHP 
 client library to run the script on the command line, but when I paste the 
 url, it says 'the oauth client is disabled'.( I can get it to go one step 
 further by pasting in my client id into the url, as the url created by 
 GetRefreshToken seems to use a different id, but after I enter the code 
 provided into the command line I still get the same message.)

 I have the app set as installed and have set the name, url and logo in 
 the console consent screen.

 I am using a test account and an unapproved developer token. The token 
 was created about a year ago, could this be the issue?

 I am also wondering whether the test account is a valid test account 
 but without connecting to the API its difficult to test this.

 Thanks!

 On Thursday, 24 April 2014 16:08:06 UTC+1, Ray Tsang (AdWords API Team) 
 wrote:
>
> Sounds great.  Glad it helped.
>
> Cheers,
>
> Ray
>
> On Thursday, April 24, 2014 9:11:49 AM UTC-4, piotr.d...@bonito.pl 
> wrote:
>>
>> Thanks, everything works well !
>>
>> On Wednesday, April 23, 2014 5:53:44 PM UTC+2, Ray Tsang (AdWords API 
>> Team) wrote:
>>>
>>> Hi,
>>>
>>> It's most likely that you've created an OAuth 2.0 "Web application". 
>>>  Please review our AdWords OAuth 2.0 authentication guide 
>>> 
>>> .
>>> In step 6, please select Installed application.
>>>
>>> Thanks,
>>>
>>> Ray
>>>
>>> On Wednesday, April 23, 2014 9:45:50 AM UTC-4, piotr.d...@bonito.pl 
>>> wrote:

 Now, I have other errro:

 *Error: redirect_uri_mismatch*

 The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not 
 match a registered redirect URI
 So what am I doing wrong here?

 On Wednesday, April 23, 2014 2:35:36 PM UTC+2, piotr.d...@bonito.pl 
 wrote:
>
> Hello,
> I have the same problem :(
> Also filled field required in Consent screen, I have http error 
> 400 and Error: disabled_client.
> So what am I doing wrong here?
> How enable OAuth client for me project ?
>
> Thanks
>
>
>
> W dniu wtorek, 4 marca 2014 20:40:28 UTC+1 użytkownik Ray Tsang 
> (AdWords API Team) napisał:
>>
>> Jake,
>>
>> In the cloud console, could I trouble you to navigate to the 
>> Consent Screen configuration and enter an application name (and any 
>> of the 
>> other required fields).
>>
>> Please let me know if it works for you - and I can update 
>> relevant documentations.
>>
>> Thanks,
>>
>> On Friday, February 28, 2014 5:50:34 PM UTC-5, Jake Wilson wrote:
>>>
>>>
>>> I am building a simple web app to connect to our Adwor

Re: GetRefreshToken.php > Error: disabled_client The OAuth client was disabled.

2014-07-17 Thread Ray Tsang (AdWords API Team)
Sarah,

Were you using an existing project or a brand new one?  If you haven't 
tried yet, please create a brand new project 
.

Thanks!

Ray

On Thursday, July 17, 2014 5:05:29 AM UTC-4, Sarah Gilmore wrote:
>
> Hi Ray
>
> When I execute the url provided by the script I get the following error on 
> screen:
>
> 401 Error: disabled_client
>
> The OAuth client was disabled.
>
> Request Details
> scope=https://www.googleapis.com/auth/adwords
> response_type=code
> access_type=offline
> redirect_uri=urn:ietf:wg:oauth:2.0:oob
> client_id=[there is a new id generated here]
>
> If I paste my client id into the string and try again it gets me past the 
> consent screen and generates the code, but then I get the following error 
> on the command line:
>
> Your OAuth2 Credentials are incorrect.
> Please see the GetRefreshToken.php example.
> {
>   "error" : "disabled_client",
>   "error_description" : "The OAuth client was disabled."
> }
>
> I've checked and double checked the code string and my OAuth2 details in 
> auth.ini so not sure whats wrong.
>
> Thanks
>
> On Wednesday, 16 July 2014 19:56:32 UTC+1, Ray Tsang (AdWords API Team) 
> wrote:
>>
>> Sarah,
>>
>> Could I trouble you to send me the exact errors that you've received? 
>>  The authorization code is long (it sometimes doesn't fully display in the 
>> text box) - please make sure the entire string is selected and pasted.
>>
>> Thanks,
>>
>> Ray
>>
>> On Wednesday, July 16, 2014 9:20:58 AM UTC-4, Sarah Gilmore wrote:
>>>
>>> Hi, I am having the same issue as Jake (above). I'm using the PHP client 
>>> library to run the script on the command line, but when I paste the url, it 
>>> says 'the oauth client is disabled'.( I can get it to go one step further 
>>> by pasting in my client id into the url, as the url created by 
>>> GetRefreshToken seems to use a different id, but after I enter the code 
>>> provided into the command line I still get the same message.)
>>>
>>> I have the app set as installed and have set the name, url and logo in 
>>> the console consent screen.
>>>
>>> I am using a test account and an unapproved developer token. The token 
>>> was created about a year ago, could this be the issue?
>>>
>>> I am also wondering whether the test account is a valid test account but 
>>> without connecting to the API its difficult to test this.
>>>
>>> Thanks!
>>>
>>> On Thursday, 24 April 2014 16:08:06 UTC+1, Ray Tsang (AdWords API Team) 
>>> wrote:

 Sounds great.  Glad it helped.

 Cheers,

 Ray

 On Thursday, April 24, 2014 9:11:49 AM UTC-4, piotr.d...@bonito.pl 
 wrote:
>
> Thanks, everything works well !
>
> On Wednesday, April 23, 2014 5:53:44 PM UTC+2, Ray Tsang (AdWords API 
> Team) wrote:
>>
>> Hi,
>>
>> It's most likely that you've created an OAuth 2.0 "Web application". 
>>  Please review our AdWords OAuth 2.0 authentication guide 
>> 
>> .
>> In step 6, please select Installed application.
>>
>> Thanks,
>>
>> Ray
>>
>> On Wednesday, April 23, 2014 9:45:50 AM UTC-4, piotr.d...@bonito.pl 
>> wrote:
>>>
>>> Now, I have other errro:
>>>
>>> *Error: redirect_uri_mismatch*
>>>
>>> The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not 
>>> match a registered redirect URI
>>> So what am I doing wrong here?
>>>
>>> On Wednesday, April 23, 2014 2:35:36 PM UTC+2, piotr.d...@bonito.pl 
>>> wrote:

 Hello,
 I have the same problem :(
 Also filled field required in Consent screen, I have http error 400 
 and Error: disabled_client.
 So what am I doing wrong here?
 How enable OAuth client for me project ?

 Thanks



 W dniu wtorek, 4 marca 2014 20:40:28 UTC+1 użytkownik Ray Tsang 
 (AdWords API Team) napisał:
>
> Jake,
>
> In the cloud console, could I trouble you to navigate to the 
> Consent Screen configuration and enter an application name (and any 
> of the 
> other required fields).
>
> Please let me know if it works for you - and I can update relevant 
> documentations.
>
> Thanks,
>
> On Friday, February 28, 2014 5:50:34 PM UTC-5, Jake Wilson wrote:
>>
>>
>> I am building a simple web app to connect to our Adwords MMC and 
>> spit out some reports.
>>
>> In the Google API Console I created a new Client ID.  I chose 
>> Installed Application even though this is a web-based PHP tool I'm 
>> making. 
>>  This page:
>>
>>
>> https://developers.google.com/adwords/api/docs/guides/auth

Adwords Offline Submission

2014-07-17 Thread Kapil Sriram
Hello

I am trying to develop a code that automatically pushes offline conversions 
into adwords. I have been trying to fix this since last few months and due 
to lack of support I am stuck. I am using a function from the google 
adwords api examples which uploads the conversions manually. It returns as 
if it got uploaded successfully, but when I check my adwords account I dont 
find that conversion.

What am I doing wrong, can someone guide me.

I have written a test file which uses real gclid and date to call the 
function which uploads the conversion, you can see what it returns thorugh 
this http://quotes.canadiangeneralcontractors.com/apitest.php , you can 
also notice that if I use wrong gclid then it returns error 
perfectly http://quotes.canadiangeneralcontractors.com/apitest.php?gclid=322332

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ShoppingCampaign understanding

2014-07-17 Thread cp.adwords via AdWords API Forum
Hi Josh,

I have further questions. 

1. It seems that one can only set cpc bid down to Category but not Product 
level, or there is a way to do that?

2. Can I have a partition tree like below? And for a Unit ProductPartition, 
are the the ProductDimensions mutually exclusive or we can combine them all?

 Root
/   
\\
New 
  Used  OtherCondition
  /|   \   
  /   \
BrandA   BrandB   OtherBrand  BrandB   
 OtherBrand
 /  \   
| 
 Category1 Category2 (cpc=0.2) Category2 (cpc=0.4)

Does that mean below?
- a product P1 is New and of brand BrandB and belongs to Category2, then P1 
gets cpc=0.2
- a product P2 is Used and of BrandB and belongs to Category2, then P2 gets 
cpc=0.4 

3. The order among the ProductDimenstions can be anything or it must always 
be Condition then Brand then BiddingCategory?

Thanks a lot for helping me again!
Cuong

On Wednesday, July 16, 2014 10:07:21 PM UTC+2, Josh Radcliff (AdWords API 
Team) wrote:
>
> Hi Cuong,
>
> Please see my answers below in purple.
>
> Cheers,
> Josh, AdWords API Team
>
> On Wednesday, July 16, 2014 12:27:04 PM UTC-4, cp.ad...@yahoo.com wrote:
>>
>> Hi all,
>>
>> I am familarizing myself with AdWords API and Shopping Campaign (Java 
>> version). I have an online shop with a hierachy of categories and products, 
>> and I could successfully publish all products to the merchant center. Now I 
>> want to use Product Listing Ads via creation of shopping campaigns.
>>
>> Under this link 
>>  I 
>> understand that there can be multiple ShoppingCampaigns for my shop, 
>> multiple AdGroups under each ShoppingCampaign.
>>
>> To illustrate my questions, let assume my shop contains the following 
>> categories:
>> Furniture > Futtons [ futtonsId ]
>> Electronics > Components > Transformers [ transformersId ]
>>
>> My questions are:
>> 1. Can an AdGroup have multiple Partitionings?
>>
> The partitions are organized in a tree structure, and there can be only 
> one tree per ad group. In other words, all product partitions for an ad 
> group must share a common root product partition. 
>
>> 2. Can different AdGroups have the same Partitioning?
>>
> Yes, there are no dependencies or restrictions between ad groups for the 
> same campaign. However, we strongly recommend setting up your ad groups so 
> that only one ad group will bid on a given product. Otherwise your ad 
> groups will actually be competing with each other. 
>
>> 3. Does a Partitioning always cover the entire hierachy of my shop's 
>> categories and products, or only those that are set with a bidAmount will 
>> appear in PLA? (e.g., only Futtons beds appear but not Transformers)
>>
> Every leaf node in the product partition tree *must* have a bid, and 
> every product partition tree has an "Other" leaf node within each subtree 
> (see the *Shopping Campaigns guide* 
> ),
>  
> so you cannot have a product that does not have a bid. However, you can 
> exclude a product in one of two ways:
> a. If you want to exclude a product from an *ad group*, you can do so by 
> creating a *NegativeAdGroupCriterion* 
> 
>  for 
> the product partition that covers that product.
> b. If you want to exclude a product from a *campaign*, you can do so by 
> creating a *CampaignCriterion* 
> 
>  with 
> a *ProductScope* as described in the *filtering section of the Shopping 
> Campaigns guide* 
> 
> .  
>
>> 4. Say, I have two campaigns C1 and C2, both containing the 'Futtons' 
>> category. Does that mean C1.Futtons and C2.Futtons have separate CPC 
>> statistics that are accumulated separately by C1 and C2?
>>
> Yes, but as mentioned above, you should avoid having the same product in 
> multiple campaigns or ad groups. 
>
>> 5. The same question (4) but applied for AdGroups?
>>
> Yes, with the same note as for #4. 
>
>>
>> Thanks a lot in advance!
>> Cuong
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received thi

Re: NullPointerException in Java-Client-Library

2014-07-17 Thread Josh Radcliff (AdWords API Team)
Hi,

Thanks for pointing this out. I believe this is the same issue highlighted 
on our github issues list:

https://github.com/googleads/googleads-java-lib/issues/19

We're working on a fix -- please subscribe to notifications on the github 
issue for updates.

Thanks,
Josh, AdWords API Team

On Thursday, July 17, 2014 5:11:26 AM UTC-4, Alex wrote:
>
> If the httpRequest is not successfull then the client-library tries to 
> throw a TokenResponseException in 
> com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(). But 
> during the construction of that exception a NullPointerException is thrown.
>
> java.lang.NullPointerException
>
>
> com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
>
>
> com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)
>
>
> com.google.api.client.json.jackson2.JacksonFactory.createJsonParser(JacksonFactory.java:96)
>
>
> com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:85)
>
>
> com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
>
>
> com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:88)
>
>
> com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
>
>
> com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)
>
>
> com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570)
>
>
> com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:248)
>
>
> com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489)
>
>
> com.google.api.ads.common.lib.auth.OAuth2Helper.callRefreshToken(OAuth2Helper.java:70)
>
>
> com.google.api.ads.common.lib.auth.OfflineCredentials.generateCredential(OfflineCredentials.java:144)
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ReportUtilities.DownloadClientReport throws System.NullReferenceException

2014-07-17 Thread Stephen Gilles
I have the same issue - using v18. I've searched extensively in this group, 
finding many similar issues, but no specific solution... 

Steve


On Monday, June 9, 2014 11:49:58 AM UTC-7, Anash P. Oommen (AdWords API 
Team) wrote:
>
> Hi Peter,
>
> I thought I fixed this error. Could you kindly download the source 
> distribution from 
> https://github.com/googleads/googleads-adwords-dotnet-lib/releases/tag/v16.6.0
>  
> and let me know what line this exception is being thrown?
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Wednesday, June 4, 2014 12:16:04 PM UTC-4, Peter Kingswell wrote:
>>
>> Hi,
>>
>> we download campaign performance stats on a daily basis and encounter 
>> this exception fairly regularly.  Is anyone else seeing this? :
>>
>> Exception System.NullReferenceException: Object reference not set to an 
>> instance of an object.
>> at 
>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
>>  
>> downloadUrl, Boolean returnMoneyInMicros, String postBody, Stream 
>> outputStream)
>> at 
>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReportInternal(String
>>  
>> downloadUrl, String postBody, Boolean returnMoneyInMicros, String path)
>> at 
>> Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadClientReport[T](T
>>  
>> reportDefinition, Boolean returnMoneyInMicros, String path)
>>
>> AFAICT the problematic invocations are not significantly different to 
>> other successful invocations.  It occurs irrespective 
>> of ReportDefinitionReportType.  Here is how we create the ReportDefinition:
>>
>> ReportDefinition definition = new ReportDefinition();
>> definition.reportName = "blah";
>> definition.reportType = 
>> ReportDefinitionReportType.CAMPAIGN_PERFORMANCE_REPORT;
>> definition.downloadFormat = DownloadFormat.CSV;
>> definition.includeZeroImpressions = true;
>> definition.dateRangeType = ReportDefinitionDateRangeType.TODAY;
>> Selector selector = new Selector();
>> selector.fields = ... dictionary of fields ...;
>> definition.selector = selector;
>>
>> This is with Assembly Google.AdWords.dll, v16.6.0.0.
>>
>> Many thanks, Peter
>>
>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Adwords api integration Query

2014-07-17 Thread Altaf Mulla








Hi ,

 

I downloaded the google adwords dotnet library with examples 

 

I ran  the Oauth Project (…….examples\AdWords\csharp\oauth) 

 

THis project has two aspx pages 

 

I just added some code in the below function as follows 

 

   private void DoAuth2Configuration(AdWordsAppConfig config) {

 

config.Email = "t...@gmail.com";

config.Password = "xxx!";

config.UserAgent = "";

config.DeveloperToken = "x";

config.AuthorizationMethod = AdWordsAuthorizationMethod
.OAuth2;

config.ClientCustomerId = "123-456-789".ToString().Replace(
"-", "");

config.OAuth2ClientId = 
".apps.googleusercontent.com";

config.OAuth2ClientSecret = "_x";

   

config.OAuth2RedirectUri = Request.Url.GetLeftPart(
UriPartial.Path);

  // Create an OAuth2 object for handling OAuth2 flow.

  OAuth2ProviderForApplications oAuth = new 
OAuth2ProviderForApplications(config);

  if (Request.Params["state"] == null) {

// This is the first time this page is being loaded.

// Set the state variable to any value that helps you recognize

// when this url will be called by the OAuth2 server.

oAuth.State = "callback";

 

// Create an authorization url and redirect the user to that page.

Response.Redirect(oAuth.GetAuthorizationUrl());

  } else if (Request.Params["state"] == "callback") {

 

oAuth.FetchAccessAndRefreshTokens(Request.Params["code"]);

 

Session["OAuthProvider"] = oAuth;

// Redirect the user to the main page.

Response.Redirect("Default.aspx");

  } else {

throw new Exception("Unknown state for OAuth callback.");

  }

}

 

And then ran the application I was redirect to my google account  below 
screen 



 

 

step 1 :After Entering Credentials I was redirected to the below screen 



 

 

Step 2 : After clicking Accept I was redirected to the default.aspx

 

 


 

 *After Entering the Customer ID I was able to get the Campaign Details*

 

*In this I came across that I need to login into my google adwords  Account 
, Click Accept *

*In which the Application redirects an authoriztion URL When I click accept 
I receive an authorization code *

*Which I use to Fetch Access And Refresh Tokens Which is then used by the 
google api (camapign Service )*

*to get the campaign Details*

 

*Is there any way in which I can avoid the steps 1 and 2 so that I don’t 
need to  Login and click Accept*

 

*Is there any way I can get the authorization code directly and use it to 
Fetch Access And Refresh Tokens*

 

*As I have a web application in which my clients use the api to get 
campaign details and statistics of campaign *

*I don’t want then to go through these steps *

 

*Please Suggest  *

 

*Thanks and Regards *

*Altaf*

 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ShoppingCampaign understanding

2014-07-17 Thread cp.adwords via AdWords API Forum
Hi Josh,

I have another doubt. It seems I can only set cpc bid down to Category 
level but not product level, does it? Is there a way I can set cpc bid for 
a particular product?

Thanks a lot
Cuong

On Wednesday, July 16, 2014 10:07:21 PM UTC+2, Josh Radcliff (AdWords API 
Team) wrote:
>
> Hi Cuong,
>
> Please see my answers below in purple.
>
> Cheers,
> Josh, AdWords API Team
>
> On Wednesday, July 16, 2014 12:27:04 PM UTC-4, cp.ad...@yahoo.com wrote:
>>
>> Hi all,
>>
>> I am familarizing myself with AdWords API and Shopping Campaign (Java 
>> version). I have an online shop with a hierachy of categories and products, 
>> and I could successfully publish all products to the merchant center. Now I 
>> want to use Product Listing Ads via creation of shopping campaigns.
>>
>> Under this link 
>>  I 
>> understand that there can be multiple ShoppingCampaigns for my shop, 
>> multiple AdGroups under each ShoppingCampaign.
>>
>> To illustrate my questions, let assume my shop contains the following 
>> categories:
>> Furniture > Futtons [ futtonsId ]
>> Electronics > Components > Transformers [ transformersId ]
>>
>> My questions are:
>> 1. Can an AdGroup have multiple Partitionings?
>>
> The partitions are organized in a tree structure, and there can be only 
> one tree per ad group. In other words, all product partitions for an ad 
> group must share a common root product partition. 
>
>> 2. Can different AdGroups have the same Partitioning?
>>
> Yes, there are no dependencies or restrictions between ad groups for the 
> same campaign. However, we strongly recommend setting up your ad groups so 
> that only one ad group will bid on a given product. Otherwise your ad 
> groups will actually be competing with each other. 
>
>> 3. Does a Partitioning always cover the entire hierachy of my shop's 
>> categories and products, or only those that are set with a bidAmount will 
>> appear in PLA? (e.g., only Futtons beds appear but not Transformers)
>>
> Every leaf node in the product partition tree *must* have a bid, and 
> every product partition tree has an "Other" leaf node within each subtree 
> (see the *Shopping Campaigns guide* 
> ),
>  
> so you cannot have a product that does not have a bid. However, you can 
> exclude a product in one of two ways:
> a. If you want to exclude a product from an *ad group*, you can do so by 
> creating a *NegativeAdGroupCriterion* 
> 
>  for 
> the product partition that covers that product.
> b. If you want to exclude a product from a *campaign*, you can do so by 
> creating a *CampaignCriterion* 
> 
>  with 
> a *ProductScope* as described in the *filtering section of the Shopping 
> Campaigns guide* 
> 
> .  
>
>> 4. Say, I have two campaigns C1 and C2, both containing the 'Futtons' 
>> category. Does that mean C1.Futtons and C2.Futtons have separate CPC 
>> statistics that are accumulated separately by C1 and C2?
>>
> Yes, but as mentioned above, you should avoid having the same product in 
> multiple campaigns or ad groups. 
>
>> 5. The same question (4) but applied for AdGroups?
>>
> Yes, with the same note as for #4. 
>
>>
>> Thanks a lot in advance!
>> Cuong
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: The request failed with HTTP status 502: Bad Gateway.

2014-07-17 Thread SL
we are not experiencing this anymore.

On Thursday, July 10, 2014 11:45:18 AM UTC-4, Ray Tsang (AdWords API Team) 
wrote:
>
> Sam,
>
> Could I trouble you to send me a few log entries (in private) as well?
>
> Thanks!
>
> Ray
>
> On Wednesday, July 9, 2014 4:39:36 PM UTC-4, SL wrote:
>>
>> It is intermittent but still occurring.
>> It is happening on various requests the last one being 
>> adGroupService.get(selector);
>> It did not create any error log info.
>> Thanks,
>> Sam
>>
>> On Wednesday, July 9, 2014 4:16:25 PM UTC-4, Ray Tsang (AdWords API Team) 
>> wrote:
>>>
>>> Sam,
>>>
>>> Was it persistent?  Is it still occurring?  Around what time were you 
>>> getting those errors?  What was the request that you were making?
>>>
>>> Thanks,
>>>
>>> Ray
>>>
>>> On Wednesday, July 9, 2014 3:50:50 PM UTC-4, SL wrote:

 getting The request failed with HTTP status 502: Bad Gateway. error 
 today.
 Are you doing maintenance as in here 

 https://groups.google.com/forum/#!topic/adwords-api/Yjz_znt6VQU

 Thanks,

 Sam




-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: log file path

2014-07-17 Thread SL
thank you for the offer but much too busy right now.
Sam

On Wednesday, July 16, 2014 1:40:52 PM UTC-4, Anash P. Oommen (AdWords API 
Team) wrote:
>
> Hi,
>
> I guess the next best thing would be to download the source distribution 
> of the project from https://github.com/googleads/googleads-dotnet-lib and 
> modify the Write method in 
>
> https://github.com/googleads/googleads-dotnet-lib/blob/master/src/Common/Util/TraceUtilities.cs
> .
>
> If you can provide a patch, then I'd be glad to accept that into the 
> library repo and credit you for the contribution. See 
> https://github.com/googleads/googleads-dotnet-lib/wiki/How-to-become-a-contributor-and-submit-patches
>  
> for details.
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Wednesday, July 16, 2014 1:19:26 PM UTC-4, SL wrote:
>>
>>
>>string logPath = AppDomain.CurrentDomain.BaseDirectory + "logs\\";
>>UpdateAppLogsSettings(logPath);
>>
>> public void UpdateAppLogsSettings(string path)
>> {
>> bool bShowError = false;
>> XmlDocument xmlDoc = new XmlDocument();
>> try
>> {
>> 
>> xmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
>> if 
>> (xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[1].ChildNodes[0].ChildNodes[1].Attributes[2].Name
>>  
>> == "initializeData")
>> {
>> string tempName = 
>> xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[1].ChildNodes[0].ChildNodes[1].Attributes[2].Value;
>> 
>> xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[1].ChildNodes[0].ChildNodes[1].Attributes[2].Value
>>  
>> =
>> path + Path.GetFileName(tempName);
>> }
>> else
>> bShowError = true;
>>
>> if 
>> (xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[2].ChildNodes[0].ChildNodes[1].Attributes[2].Name
>>  
>> == "initializeData")
>> {
>> string tempName = 
>> xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[2].ChildNodes[0].ChildNodes[1].Attributes[2].Value;
>> 
>> xmlDoc.DocumentElement["system.diagnostics"].ChildNodes[0].ChildNodes[2].ChildNodes[0].ChildNodes[1].Attributes[2].Value
>>  
>> =
>> path + Path.GetFileName(tempName);
>> }
>> else
>> bShowError = true;
>> if (!bShowError)
>> {
>> 
>> xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
>>
>> 
>> System.Configuration.ConfigurationManager.RefreshSection("section/subSection");
>> }
>> }
>> catch (Exception)
>> {
>> bShowError = true;
>> }
>>
>> if (bShowError)
>> {
>> tbResults.AppendText("* ERROR 
>> \n");
>> tbResults.AppendText("Could not relocate log files.\n");
>> 
>> tbResults.AppendText("\n");
>> }
>> return;
>> }
>>
>> Yes, I know xml can be changed but do to the nature of my project it 
>> isn't one of my concerns.
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread Zweitze
In my case: I use .NET 16.7.

Call stack:
 Google.Api.Ads.AdWords.v201402.FeedMappingService.get (Selector selector)
Google.Api.Ads.Common.Lib.AdsSoapClient.Invoke (String methodName, Object[] 
parameters)
 Google.Api.Ads.Common.Lib.AdsSoapClient.MakeApiCall (String methodName, 
Object[] parameters)
 Google.Api.Ads.AdWords.Lib.AdWordsSoapClient.InitForCall (String 
methodName, Object[] parameters)
 Google.Api.Ads.Common.Lib.OAuth2ProviderBase.GetAuthHeader ()
 Google.Api.Ads.Common.Lib.OAuth2ProviderBase.RefreshAccessTokenIfExpiring 
()
 Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessToken 
()
 
Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessTokenInOfflineMode
 
()

The call went this morning OK for (probably) a dozen or so times, and 
failed eight times. Every time the same RefreshToken, ClientId and 
ClientSecret were passed. It didn't happen on previous days / weeks / 
months.



On Thursday, July 17, 2014 2:12:09 PM UTC+2, Danial Klimkin wrote:
>
> Hello,
>
>
> Did you update the client libraries recently or are they the same you've 
> used before?
>
>
> -Danial, AdWords API Team.
>
>
> On Thursday, July 17, 2014 2:34:29 PM UTC+4, Zweitze wrote:
>>
>> Hi,
>>
>> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
>> Failed to refresh access token.
>> {
>> "error" : "invalid_client"
>> }
>>
>> Unfortunately the .NET library destroyed all extra information, so I 
>> don't have response headers, HTTP status code etc.
>> Anyway, the error occurred a eight times in total, between 05.25h and 
>> 07.41h (CEST), but in that period we also did manage to retrieve access 
>> tokens. Before that, or after that, we had no problems.
>>
>> So, what does the error mean? Obviously it doesn't mean that the supplied 
>> clientid and clientsecret do not exist.
>> And how does one handle this error? Can one retry the call?
>>
>> Thanks in advance!
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Ad performance report: get paused ads.

2014-07-17 Thread Emiliano Busiello
I'm experiencing a problem with the ad performance 
report (https://developers.google.com/adwords/api/docs/appendix/reports#ad) 
functionality, 
as the title says paused ads are not added to the report. This is my query 
at the moment:

"SELECT Id, CampaignName, AdGroupName, AveragePosition, Impressions, 
Clicks, Conversions, Cost 
FROM AD_PERFORMANCE_REPORT 
WHERE Impressions > 0
AND Status in ('ACTIVE', 'PAUSED') 
AND CampaignStatus in ('ACTIVE', 'PAUSED') 
AND AdGroupStatus in ('ACTIVE', 'PAUSED') 
DURING YESTERDAY"

As you can see I explicitly set Status, CampaignStatus and AdGroupStatus to 
be both active and paused.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: How to retrieve Sitelinks urls.

2014-07-17 Thread Emiliano Busiello
Hi Anash

Should I have asked somewhere else? Your link redirects exactly where I 
opened the post, anyway thanks for the answer, I'll try as soon as I can.

On Monday, 14 July 2014 20:47:05 UTC+2, Anash P. Oommen (AdWords API Team) 
wrote:
>
> Hi Emiliano,
>
> If you plan on using AdWords API, then you need to ask on 
> https://groups.google.com/forum/#!forum/adwords-api instead. The service 
> you are looking for is FeedItemService and FeedMappingService. You need to 
> retrieve the feeditem, and see if it has an attribute that is mapped to 
> placeholder id = 1, placeholder field id = 2. See 
> https://developers.google.com/adwords/api/docs/guides/feed-services, 
> https://developers.google.com/adwords/api/docs/appendix/placeholders for 
> details.
>
> Cheers
> Anash P. Oommen,
> AdWords Scripts Team.
>
> On Friday, July 11, 2014 5:22:46 AM UTC-4, Emiliano Busiello wrote:
>>
>> Hi Anash,
>>
>> maybe I was not clear, how do you access the sitelink (and then 
>> consequently the getLinkUrl method)? Outside the google script environment 
>> I don't have access to an object called AdwordsApp, as I showed in my code 
>> I can only access the AdwordsServices class and then use one of the 
>> ServiceInterface interfaces, as showed also on many examples around, also 
>> from the adwords team on github. Using the FeedServiceInterface doesn't 
>> return what I actually want. Am I missing something obvious?
>>
>> For completeness, this are the dependencies I imported using SBT:
>>
>>   "com.google.http-client" % "google-http-client-jackson2" % 
>> "1.18.0-rc",
>>   "com.google.api-ads" % "ads-lib" % "1.27.0",
>>   "com.google.api-ads" % "adwords-axis" % "1.27.0"
>>
>> On Friday, 11 July 2014 06:11:09 UTC+2, Anash P. Oommen (AdWords API 
>> Team) wrote:
>>>
>>> Hi,
>>>
>>> You can use the getLinkUrl method of sitelink. See 
>>> https://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp_sitelink
>>>  
>>> for details. Scripts has a simplified version of FeedServiceInterface, so 
>>> you need to rely mostly on the scripts documentation than the API 
>>> documentation for this feature.
>>>
>>> Cheers,
>>> Anash P. Oommen,
>>> AdWords Scripts Team.
>>>
>>> On Tuesday, June 24, 2014 4:18:18 AM UTC-4, Emiliano Busiello wrote:

 I'm trying to get url out of sitelinks, I looked at this piece of code:

 var campaigns = AdWordsApp.campaigns()
 .withCondition("LabelNames CONTAINS_NONE['" + 
 settings.sitelinksLabel +
 "']")
 .get();
 while (campaigns.hasNext()) {
   var campaign = campaigns.next();
   var sitelinks = campaign.extensions().sitelinks().get();

   Logger.log('Checking %s sitelinks.', sitelinks.totalNumEntities());
   while (sitelinks.hasNext()) {
 var sitelink = sitelinks.next();
 var status = getUrlStatus(sitelink.getLinkUrl());
 accountSheet.appendRow(['', sitelink.getLinkUrl(),
 status, campaign.getName(),
 '', '', '', sitelink.getLinkText()]);
   }
   campaign.applyLabel(settings.sitelinksLabel);
 }


 Taken from here 
 ,
  
 I also had a look around at the API documentation and at this 
  
 example 
 (which unfortunately doesn't treat get operations) and as far as I 
 understand the FeedServiceInterface is what I should use. This is my code 
 at the moment:

 val adWordsServices = new AdWordsServices()
 var offset = 0
 var limit = 100

 val service = adWordsServices.get(connection, 
 classOf[FeedServiceInterface])

 val builder = new SelectorBuilder()
 var selector = builder
   .fields("Name", "Attributes")
   .offset(offset)
   .limit(limit)
   .build()

 var page = service.get(selector)

 if (page.getEntries() != null) {
   var campaigns: List[Feed] = page.getEntries().toList

   campaigns.foreach(x => {

 val t: Array[FeedAttribute] = x.getAttributes

 t.foreach(x => {
   println(x.getId)
   println(x.getName)
   println(x.getType.getValue)
 })
   })
 }

 First, this doesn't retun the urls (eg there's no getUrl or getValue or 
 something similar), second, how do you know how to build your selector? 
 More specifically, which fields I can query for? I searched for hours 
 without finding anything, I got attributes right only by chance.

>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.goog

Re: ERROR_GETTING_RESPONSE_FROM_BACKEND when filtering by Labels

2014-07-17 Thread Cesar D.
Hi Danial,

I assumed it would work with label names as it is does in AdWords 
Scripts. Thanks for the clarification.

Cesar
  

On Thursday, July 17, 2014 3:11:54 PM UTC+2, Danial Klimkin wrote:
>
> Hello Cesar,
>
>
> Labels are filtered by label IDs, not names. So the values needs to be an 
> array like [12,342,234].
>
>
> -Danial, AdWords API Team.
>
>
> On Thursday, July 17, 2014 1:51:40 PM UTC+4, Cesar D. wrote:
>>
>> I'm trying to query the CAMPAIGN_PERFORMANCE_REPORT filtering by Labels 
>> using a selector like this:
>>
>> {"operator": "CONTAINS_ANY", "field": "Labels", "values": ["MY_LABEL"]}
>>
>> As a result I get ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND.
>>
>> I've tried with other operators but get a different error: 
>> INVALID_PREDICATE_OPERATOR
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ERROR_GETTING_RESPONSE_FROM_BACKEND when filtering by Labels

2014-07-17 Thread Danial Klimkin
Hello Cesar,


Labels are filtered by label IDs, not names. So the values needs to be an 
array like [12,342,234].


-Danial, AdWords API Team.


On Thursday, July 17, 2014 1:51:40 PM UTC+4, Cesar D. wrote:
>
> I'm trying to query the CAMPAIGN_PERFORMANCE_REPORT filtering by Labels 
> using a selector like this:
>
> {"operator": "CONTAINS_ANY", "field": "Labels", "values": ["MY_LABEL"]}
>
> As a result I get ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND.
>
> I've tried with other operators but get a different error: 
> INVALID_PREDICATE_OPERATOR
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread Danial Klimkin
We are looking into this issue, I'll update this thread once we have any 
updates.


-Danial, AdWords API Team.


On Thursday, July 17, 2014 5:04:38 PM UTC+4, oseemann wrote:
>
> We're experiencing the same issue, but the errors are transient. They 
> happen sometimes for some accounts and are not reproducible.
>
> It started approx. 11 hours ago.
>
> On Thursday, July 17, 2014 12:34:29 PM UTC+2, Zweitze wrote:
>>
>> Hi,
>>
>> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
>> Failed to refresh access token.
>> {
>> "error" : "invalid_client"
>> }
>>
>> Unfortunately the .NET library destroyed all extra information, so I 
>> don't have response headers, HTTP status code etc.
>> Anyway, the error occurred a eight times in total, between 05.25h and 
>> 07.41h (CEST), but in that period we also did manage to retrieve access 
>> tokens. Before that, or after that, we had no problems.
>>
>> So, what does the error mean? Obviously it doesn't mean that the supplied 
>> clientid and clientsecret do not exist.
>> And how does one handle this error? Can one retry the call?
>>
>> Thanks in advance!
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread oseemann
We're experiencing the same issue, but the errors are transient. They 
happen sometimes for some accounts and are not reproducible.

It started approx. 11 hours ago.

On Thursday, July 17, 2014 12:34:29 PM UTC+2, Zweitze wrote:
>
> Hi,
>
> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
> Failed to refresh access token.
> {
> "error" : "invalid_client"
> }
>
> Unfortunately the .NET library destroyed all extra information, so I don't 
> have response headers, HTTP status code etc.
> Anyway, the error occurred a eight times in total, between 05.25h and 
> 07.41h (CEST), but in that period we also did manage to retrieve access 
> tokens. Before that, or after that, we had no problems.
>
> So, what does the error mean? Obviously it doesn't mean that the supplied 
> clientid and clientsecret do not exist.
> And how does one handle this error? Can one retry the call?
>
> Thanks in advance!
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Question about Adwords API

2014-07-17 Thread Danial Klimkin
Hello Jonathan,


It looks like you are using Google Analytics API so please check with the 
relevant group.

As per issue, with OAuth2 you need to store refresh and access token you 
get back in your redirect URL.


-Danial, AdWords API Team.


On Wednesday, July 16, 2014 4:58:15 PM UTC+4, Jonathan Rodriguez wrote:
>
> Hi everybody! i have a little problema with the adwords api, i am using 
> that with python language ang i dont understand how can i get a position 
> media, i was watching this documentation 
> https://developers.google.com/analytics/devguides/reporting/core/dimsmets#view=detail&group=adwords&jump=ga_adslotposition
>  
> but i can't get that data.
>
> Other thing is, when i connect to the api the authentication is created 
> but if need to used again i can't.. i have reload the url and get other 
> code.. how can i use the sema code multiple times?
>
> i have something like this:
> flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, 
> REDIRECT_URI)
>
> In the first time it's ok.. but the second time flow is None.
>
> I hope you can help me.
>
> Regards.
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Report Download failing for some accounts

2014-07-17 Thread Danial Klimkin
Hello Gabriel,


Please check the returned HTTP body for more specific error message. Also, 
make sure the user you run the API request under has access to the account 
in question.


-Danial, AdWords API Team.


On Wednesday, July 16, 2014 9:36:06 PM UTC+4, Gabriel Moser wrote:
>
> I am trying to get the ACCOUNT_PERFORMANCE_REPORT with the following XML 
> but the error returned is only Report download failed..
>
> Nothing more is returned. It happens only with a few accounts. Can you 
> help me to solve it ?
> I've tried to set the content-length but with no success.
>
> The reportDefinition is below:
>
> ReportDefinition Object
> (
> [id] => 
> [selector] => Selector Object
> (
> [fields] => Array
> (
> [0] => AccountId
> )
>
> [predicates] => 
> [dateRange] => DateRange Object
> (
> [min] => 20140715
> [max] => 20140715
> )
>
> [ordering] => 
> [paging] => 
> )
>
> [reportName] => Account #53c6b793b6126
> [reportType] => ACCOUNT_PERFORMANCE_REPORT
> [hasAttachment] => 
> [dateRangeType] => CUSTOM_DATE
> [downloadFormat] => CSV
> [creationTime] => 
> [includeZeroImpressions] => 
> )
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Intermittent errors on token refresh

2014-07-17 Thread .NET_Api_User
*Getting: *

7/17/2014 7:02:14 AM | Google.Api.Ads.Common.Lib.AdsOAuthException: Failed 
to refresh access token.
{
  "error" : "invalid_client"
}
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessTokenInOfflineMode()
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessToken()
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderBase.RefreshAccessTokenIfExpiring()
   at Google.Api.Ads.Common.Lib.OAuth2ProviderBase.GetAuthHeader()
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.BuildRequest(String 
downloadUrl, Nullable`1 returnMoneyInMicros, String postBody)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
 
downloadUrl, Nullable`1 returnMoneyInMicros, String postBody, Stream 
outputStream)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReportInternal(String
 
downloadUrl, String postBody, Nullable`1 returnMoneyInMicros)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReport(String 
query, String format, Nullable`1 returnMoneyInMicros)

*Intermittently for a bunch of client accounts. Could it be something we 
are doing wrong? It usually works on retrying.*

*Also saw a few of these:*

Google.Api.Ads.Common.Lib.AdsOAuthException: Failed to refresh access token.
{
  "error" : "internal_failure"
}
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessTokenInOfflineMode()
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderForApplications.RefreshAccessToken()
   at 
Google.Api.Ads.Common.Lib.OAuth2ProviderBase.RefreshAccessTokenIfExpiring()
   at Google.Api.Ads.Common.Lib.OAuth2ProviderBase.GetAuthHeader()
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.BuildRequest(String 
downloadUrl, Nullable`1 returnMoneyInMicros, String postBody)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.DownloadReportToStream(String
 
downloadUrl, Nullable`1 returnMoneyInMicros, String postBody, Stream 
outputStream)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReportInternal(String
 
downloadUrl, String postBody, Nullable`1 returnMoneyInMicros)
   at 
Google.Api.Ads.AdWords.Util.Reports.ReportUtilities.GetClientReport(String 
query, String format, Nullable`1 returnMoneyInMicros)

*Any help will be appreciated!*

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread Danial Klimkin
Hello,


Did you update the client libraries recently or are they the same you've 
used before?


-Danial, AdWords API Team.


On Thursday, July 17, 2014 2:34:29 PM UTC+4, Zweitze wrote:
>
> Hi,
>
> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
> Failed to refresh access token.
> {
> "error" : "invalid_client"
> }
>
> Unfortunately the .NET library destroyed all extra information, so I don't 
> have response headers, HTTP status code etc.
> Anyway, the error occurred a eight times in total, between 05.25h and 
> 07.41h (CEST), but in that period we also did manage to retrieve access 
> tokens. Before that, or after that, we had no problems.
>
> So, what does the error mean? Obviously it doesn't mean that the supplied 
> clientid and clientsecret do not exist.
> And how does one handle this error? Can one retry the call?
>
> Thanks in advance!
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


oAuth 2 and CFML without cfoauth tag

2014-07-17 Thread John Bliss
Hopefully, this will save someone a bunch of time. This is a very simple 
example of how to do oAuth 2 (in this case, with Google) in CFML without 
using ACF 11's new cfoauth 
tag: 
http://www.brandiandjohn.com/post.cfm/oauth-2-google-and-cfml-without-cfoauth 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread Dominik R
Same here with the PHP library:

Fatal error: Uncaught exception 'OAuth2Exception' with message '{
  "error" : "invalid_client"
}' in AdWords/Google/Api/Ads/Common/Util/SimpleOAuth2Handler.php:121


On Thursday, July 17, 2014 12:34:29 PM UTC+2, Zweitze wrote:
>
> Hi,
>
> This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
> Failed to refresh access token.
> {
> "error" : "invalid_client"
> }
>
> Unfortunately the .NET library destroyed all extra information, so I don't 
> have response headers, HTTP status code etc.
> Anyway, the error occurred a eight times in total, between 05.25h and 
> 07.41h (CEST), but in that period we also did manage to retrieve access 
> tokens. Before that, or after that, we had no problems.
>
> So, what does the error mean? Obviously it doesn't mean that the supplied 
> clientid and clientsecret do not exist.
> And how does one handle this error? Can one retry the call?
>
> Thanks in advance!
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


ConversionTypename not accessible from the .net api

2014-07-17 Thread nuwan . gebalanage
Hi,

I am trying to pull the conversion type name and click assisted conversions 
using the .net api v201402.

My code is as following. It fails on pulling the conversion type name and 
click assisted conversions but works for campaignname and 
clickassistedconvesins (Commented out)

definition.reportName = "Last 7 days CRITERIA_PERFORMANCE_REPORT";
definition.reportType = 
ReportDefinitionReportType.CAMPAIGN_PERFORMANCE_REPORT;
definition.downloadFormat = DownloadFormat.XML;
definition.dateRangeType = 
ReportDefinitionDateRangeType.CUSTOM_DATE;

 
Selector selector = new Selector();
DateRange dateRange = new DateRange();
dateRange.min = datestart;
dateRange.max = dateend;
selector.dateRange = dateRange;
//selector.fields = new string[] { 
"CampaignName","ClickAssistedConversions" };

selector.fields = new string[] { "ConversionTypeName", 
"ClickAssistedConversions" };

  
Predicate predicate = new Predicate();
predicate.field = "Status";
predicate.@operator = PredicateOperator.IN;
predicate.values = new string[] { "ACTIVE" };
selector.predicates = new Predicate[] { predicate };

definition.selector = selector;
definition.includeZeroImpressions = false;

 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Failed to refresh access token. { "error" : "invalid_client" } on perfectly good client

2014-07-17 Thread Zweitze
Hi,

This morning a Google.Api.Ads.Common.Lib.AdsOAuthException occurred:
Failed to refresh access token.
{
"error" : "invalid_client"
}

Unfortunately the .NET library destroyed all extra information, so I don't 
have response headers, HTTP status code etc.
Anyway, the error occurred a eight times in total, between 05.25h and 
07.41h (CEST), but in that period we also did manage to retrieve access 
tokens. Before that, or after that, we had no problems.

So, what does the error mean? Obviously it doesn't mean that the supplied 
clientid and clientsecret do not exist.
And how does one handle this error? Can one retry the call?

Thanks in advance!

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


ERROR_GETTING_RESPONSE_FROM_BACKEND when filtering by Labels

2014-07-17 Thread Cesar D.
I'm trying to query the CAMPAIGN_PERFORMANCE_REPORT filtering by Labels 
using a selector like this:

{"operator": "CONTAINS_ANY", "field": "Labels", "values": ["MY_LABEL"]}

As a result I get ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND.

I've tried with other operators but get a different error: 
INVALID_PREDICATE_OPERATOR

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: Change from deleted to removed

2014-07-17 Thread MarcF
Hi,
When an adgroup entity status is set to "Removed" with v201406, we can not 
switch status to Enabled or Paused 
(OPERATION_NOT_PERMITTED_FOR_REMOVED_ENTITY).

But with the UI it's possible, and if we use 201402, the entity removed, 
can be restored with the wanted status (Paused,..)

How can we have the same behavior between UI and the API  v201406 ?

Thanks,
Regards


On Tuesday, July 15, 2014 7:53:39 PM UTC+2, Anash P. Oommen (AdWords API 
Team) wrote:
>
> Hi Rodrigo,
>
> This will also affect API, but this change is versioned. If you use 
> v201402 or earlier, you will get old values (e.g. Deleted), whereas you get 
> the new values (e.g. Removed) when using v201406 or later. So you'd need to 
> fix your code when migrating to v201406.
>
> Cheers,
> Anash P. Oommen,
> AdWords API Advisor.
>
> On Tuesday, July 15, 2014 6:22:20 AM UTC-4, Rodrigo Lopez Guerra wrote:
>>
>> Hi i just got the msg :
>> The "Status" column values in reports will soon be changed to show 
>> "Removed" instead of "Deleted." This change makes it clear that certain 
>> items, like campaigns, remain available for future reference.
>>
>> If you use spreadsheets or other scripting languages for your downloaded 
>> reports, you might need to update them.
>>
>> Is this impacting only the reports , or the status returned by the api 
>> will change as well ?
>>
>> Thanks , 
>> Regards
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


NullPointerException in Java-Client-Library

2014-07-17 Thread Alex
 

If the httpRequest is not successfull then the client-library tries to 
throw a TokenResponseException in 
com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(). But 
during the construction of that exception a NullPointerException is thrown.

java.lang.NullPointerException

com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)

com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)

com.google.api.client.json.jackson2.JacksonFactory.createJsonParser(JacksonFactory.java:96)

com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:85)

com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)

com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:88)

com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)

com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)

com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570)

com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:248)

com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489)

com.google.api.ads.common.lib.auth.OAuth2Helper.callRefreshToken(OAuth2Helper.java:70)

com.google.api.ads.common.lib.auth.OfflineCredentials.generateCredential(OfflineCredentials.java:144)

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: GetRefreshToken.php > Error: disabled_client The OAuth client was disabled.

2014-07-17 Thread Sarah Gilmore
Hi Ray

When I execute the url provided by the script I get the following error on 
screen:

401 Error: disabled_client

The OAuth client was disabled.

Request Details
scope=https://www.googleapis.com/auth/adwords
response_type=code
access_type=offline
redirect_uri=urn:ietf:wg:oauth:2.0:oob
client_id=[there is a new id generated here]

If I paste my client id into the string and try again it gets me past the 
consent screen and generates the code, but then I get the following error 
on the command line:

Your OAuth2 Credentials are incorrect.
Please see the GetRefreshToken.php example.
{
  "error" : "disabled_client",
  "error_description" : "The OAuth client was disabled."
}

I've checked and double checked the code string and my OAuth2 details in 
auth.ini so not sure whats wrong.

Thanks

On Wednesday, 16 July 2014 19:56:32 UTC+1, Ray Tsang (AdWords API Team) 
wrote:
>
> Sarah,
>
> Could I trouble you to send me the exact errors that you've received?  The 
> authorization code is long (it sometimes doesn't fully display in the text 
> box) - please make sure the entire string is selected and pasted.
>
> Thanks,
>
> Ray
>
> On Wednesday, July 16, 2014 9:20:58 AM UTC-4, Sarah Gilmore wrote:
>>
>> Hi, I am having the same issue as Jake (above). I'm using the PHP client 
>> library to run the script on the command line, but when I paste the url, it 
>> says 'the oauth client is disabled'.( I can get it to go one step further 
>> by pasting in my client id into the url, as the url created by 
>> GetRefreshToken seems to use a different id, but after I enter the code 
>> provided into the command line I still get the same message.)
>>
>> I have the app set as installed and have set the name, url and logo in 
>> the console consent screen.
>>
>> I am using a test account and an unapproved developer token. The token 
>> was created about a year ago, could this be the issue?
>>
>> I am also wondering whether the test account is a valid test account but 
>> without connecting to the API its difficult to test this.
>>
>> Thanks!
>>
>> On Thursday, 24 April 2014 16:08:06 UTC+1, Ray Tsang (AdWords API Team) 
>> wrote:
>>>
>>> Sounds great.  Glad it helped.
>>>
>>> Cheers,
>>>
>>> Ray
>>>
>>> On Thursday, April 24, 2014 9:11:49 AM UTC-4, piotr.d...@bonito.pl 
>>> wrote:

 Thanks, everything works well !

 On Wednesday, April 23, 2014 5:53:44 PM UTC+2, Ray Tsang (AdWords API 
 Team) wrote:
>
> Hi,
>
> It's most likely that you've created an OAuth 2.0 "Web application". 
>  Please review our AdWords OAuth 2.0 authentication guide 
> 
> .
> In step 6, please select Installed application.
>
> Thanks,
>
> Ray
>
> On Wednesday, April 23, 2014 9:45:50 AM UTC-4, piotr.d...@bonito.pl 
> wrote:
>>
>> Now, I have other errro:
>>
>> *Error: redirect_uri_mismatch*
>>
>> The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not 
>> match a registered redirect URI
>> So what am I doing wrong here?
>>
>> On Wednesday, April 23, 2014 2:35:36 PM UTC+2, piotr.d...@bonito.pl 
>> wrote:
>>>
>>> Hello,
>>> I have the same problem :(
>>> Also filled field required in Consent screen, I have http error 400 
>>> and Error: disabled_client.
>>> So what am I doing wrong here?
>>> How enable OAuth client for me project ?
>>>
>>> Thanks
>>>
>>>
>>>
>>> W dniu wtorek, 4 marca 2014 20:40:28 UTC+1 użytkownik Ray Tsang 
>>> (AdWords API Team) napisał:

 Jake,

 In the cloud console, could I trouble you to navigate to the 
 Consent Screen configuration and enter an application name (and any of 
 the 
 other required fields).

 Please let me know if it works for you - and I can update relevant 
 documentations.

 Thanks,

 On Friday, February 28, 2014 5:50:34 PM UTC-5, Jake Wilson wrote:
>
>
> I am building a simple web app to connect to our Adwords MMC and 
> spit out some reports.
>
> In the Google API Console I created a new Client ID.  I chose 
> Installed Application even though this is a web-based PHP tool I'm 
> making. 
>  This page:
>
>
> https://developers.google.com/adwords/api/docs/guides/authentication#access_and_refresh_token
>
> says to choose Installed Application if:
>
>- You are just getting started for the first time.
>- You want to test our example code and get started quickly.
>- You are managing all of your AdWords accounts using a single 
>top level MCC.
>
> All of which apply to us.  Also, the auth.ini says:
>
> ; If you do

Re: Setting the CPC bid on product in shopping campaign.

2014-07-17 Thread david


On Wednesday, 16 July 2014 15:56:38 UTC+1, GregT wrote:
>
>  (because the API requires you to send the entire product partition tree 
> for an ad group in one call, and an ad group's partition tree could be up 
> to 20,000 criterion), 
>

Slightly OT but just in case it helps, the above isn't quite the case. You 
just need to make sure you have a valid tree after each call.
So our first call creates a SUBDIVISION + single UNIT child for the "other" 
case. We take a note of the parentId.
Then we add UNITs in call batches of 2000 to that parent. You can also 
update UNIT (eg. change the maxCpc) with a mutate applying to a single 
child.
See Matt Scales post here:
https://groups.google.com/forum/#!msg/adwords-api/BbbsW1MSobw/7GnXo5wP2F8J

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Re: ShoppingCampaign understanding

2014-07-17 Thread cp.adwords via AdWords API Forum
Hi Josh,

thank you very much for the informative answers.

Cheers,
Cuong

On Wednesday, July 16, 2014 10:07:21 PM UTC+2, Josh Radcliff (AdWords API 
Team) wrote:
>
> Hi Cuong,
>
> Please see my answers below in purple.
>
> Cheers,
> Josh, AdWords API Team
>
> On Wednesday, July 16, 2014 12:27:04 PM UTC-4, cp.ad...@yahoo.com wrote:
>>
>> Hi all,
>>
>> I am familarizing myself with AdWords API and Shopping Campaign (Java 
>> version). I have an online shop with a hierachy of categories and products, 
>> and I could successfully publish all products to the merchant center. Now I 
>> want to use Product Listing Ads via creation of shopping campaigns.
>>
>> Under this link 
>>  I 
>> understand that there can be multiple ShoppingCampaigns for my shop, 
>> multiple AdGroups under each ShoppingCampaign.
>>
>> To illustrate my questions, let assume my shop contains the following 
>> categories:
>> Furniture > Futtons [ futtonsId ]
>> Electronics > Components > Transformers [ transformersId ]
>>
>> My questions are:
>> 1. Can an AdGroup have multiple Partitionings?
>>
> The partitions are organized in a tree structure, and there can be only 
> one tree per ad group. In other words, all product partitions for an ad 
> group must share a common root product partition. 
>
>> 2. Can different AdGroups have the same Partitioning?
>>
> Yes, there are no dependencies or restrictions between ad groups for the 
> same campaign. However, we strongly recommend setting up your ad groups so 
> that only one ad group will bid on a given product. Otherwise your ad 
> groups will actually be competing with each other. 
>
>> 3. Does a Partitioning always cover the entire hierachy of my shop's 
>> categories and products, or only those that are set with a bidAmount will 
>> appear in PLA? (e.g., only Futtons beds appear but not Transformers)
>>
> Every leaf node in the product partition tree *must* have a bid, and 
> every product partition tree has an "Other" leaf node within each subtree 
> (see the *Shopping Campaigns guide* 
> ),
>  
> so you cannot have a product that does not have a bid. However, you can 
> exclude a product in one of two ways:
> a. If you want to exclude a product from an *ad group*, you can do so by 
> creating a *NegativeAdGroupCriterion* 
> 
>  for 
> the product partition that covers that product.
> b. If you want to exclude a product from a *campaign*, you can do so by 
> creating a *CampaignCriterion* 
> 
>  with 
> a *ProductScope* as described in the *filtering section of the Shopping 
> Campaigns guide* 
> 
> .  
>
>> 4. Say, I have two campaigns C1 and C2, both containing the 'Futtons' 
>> category. Does that mean C1.Futtons and C2.Futtons have separate CPC 
>> statistics that are accumulated separately by C1 and C2?
>>
> Yes, but as mentioned above, you should avoid having the same product in 
> multiple campaigns or ad groups. 
>
>> 5. The same question (4) but applied for AdGroups?
>>
> Yes, with the same note as for #4. 
>
>>
>> Thanks a lot in advance!
>> Cuong
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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