Re: ORDER BY Clicks DESC Returns INVALID_ORDER_BY_CLAUSE - Bug

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Marcin,

Thanks for the report. 
I'm looking into this. I'm going to update the thread for updates.

Best,
- Takeshi, AdWords API Team

On Tuesday, July 23, 2013 2:17:32 AM UTC+9, Marcin Rosinski wrote:
>
>
> Hi guys, there seems to be a bug regarding the Reporting AWQL endpoint.
>
>
> What steps will reproduce the problem?
> Run query:
> SELECT Query, MatchType, Clicks, Cost, Impressions FROM 
> SEARCH_QUERY_PERFORMANCE_REPORT DURING 20130621,20130721 ORDER BY Clicks DESC
>
> Query without ORDER BY Clicks DESC works all OK.
> Please can you advise.
>
>
> P.S.
>
> Initially I have reported it here - 
> https://code.google.com/p/google-api-adwords-php/issues/detail?id=103 but 
> been asked to move it under this forum.  
>
>

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

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

--- 
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/groups/opt_out.




Re: In Placement Performance Report V201302 how can I identify between Automatic placements and managed?

2013-07-22 Thread Taher Dhilawala
Hi Takeshi,

Any updates on the fix? We are using V201209 in our code to get placements 
with zero impressions. As V201209 has sunset yesterday (22 July 2013) we 
need the fix on V201302 ASAP. Help appreciated.

On Thursday, June 20, 2013 1:30:39 PM UTC+5:30, Takeshi Hagikura (AdWords 
API Team) wrote:
>
> Hi Taher,
>
> > "We're fixing the issue that prevents zero impression rows in placement 
> performance report. "
> We're still working on it. 
>
> @Sanju
> > I am facing the same issue related to PLACEMENT_PERFORMANCE_**REPORT using 
> V201302 version where am unable to see any rows in the downloaded report.
> > Is there any update on fixing the issue.
> I believe it's a different issue on the one about prevent zero impression. 
> I guess there are now rows that match your report definition.
>
> Best,
> - Takeshi, AdWords API Team
>
> On Wednesday, June 19, 2013 6:35:21 PM UTC+9, Taher Dhilawala wrote:
>>
>> Hi Takeshi,
>>
>> Any updates on this ?
>>
>> "We're fixing the issue that prevents zero impression rows in placement 
>> performance report. "
>>
>

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

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

--- 
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/groups/opt_out.




Re: OAUTH_TOKEN_INVALID ruby client

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Looks like you are already talking with the ruby library maintainer in 
another mail thread. 
Please update the thread about it. 

Best,
- Takeshi, AdWords API Team

On Tuesday, July 23, 2013 2:53:29 AM UTC+9, Matthew Ledom wrote:
>
> Thanks I would like to know the correct way to do this. I have not found 
> an example the uses a refresh token that is stored in a db. I have seen the 
> setup_oauth2.rb example where the refresh token is written to a file. 
> Creating a new AdwordsApi::Api with the yml file and setting credentials 
> does not seem to work.
>
> On Monday, July 22, 2013 2:13:02 AM UTC-4, Takeshi Hagikura (AdWords API 
> Team) wrote:
>>
>> Hi Matthew,
>>
>> Looks like the access_token (it expires in one hour) was issued at 
>> "2013-07-19 14:56:06 -0400".
>> So at the time you made a request, the access token seemed to expire. 
>>
>> If you make the oauth token request in offline mode, the response should 
>> contain refresh_token (that never expires). 
>> Using that you can get a new access toke if the existing access token is 
>> about to expire. 
>>
>> I'm asking the ruby library maintainer on how to make a offline oauth 
>> token request in more detail. 
>>
>> Best,
>> - Takeshi, AdWords API Team
>>
>> On Saturday, July 20, 2013 4:01:13 AM UTC+9, Matthew Ledom wrote:
>>>
>>> I keep receiving this error when I try to use a service. In this 
>>> instance I'm use the campaign service. I had everything working with 
>>> ClientLogin and found that Reports are only supported with OAUTH2 so I'm 
>>> trying to get that implemented.
>>>
>>> I have setup my app to retrieve a offline token via the browser redirect 
>>> work flow. I have also setup my adword model to request a new access token 
>>> using the provided refresh token from the previous step. I can take that 
>>> token and use it in the following code:
>>>
>>> api.authorize(:oauth2_token => token )
>>>
>>> where token:
>>> {"access_token"=>"ya29.AxxxXh6zvQ",
>>>  "token_type"=>"Bearer",
>>>  "expires_in"=>3600,
>>>  "id_token"=>
>>>   "eyJhbxxxB3MO4"}
>>>
>>> this returns:
>>> {:access_token=>"ya29.AHEJXh6zvQ",
>>>  :refresh_token=>nil,
>>>  :issued_at=>2013-07-19 14:56:06 -0400,
>>>  :expires_in=>3600,
>>>  :id_token=>
>>>   "eyJhbxxxLB3MO4"}
>>>
>>> When I use this api object to call the campaign service I get the output 
>>> provided below. The reporting download is the final piece needed to 
>>> approval and I've searched all over this group and the web and can't find 
>>> anything that helps. I'm using the latest versions of the ruby gem: 
>>> google-ads-common (0.9.3) and google-adwords-api (0.9.3) 
>>>
>>> SOAP request: 
>>> https://adwords.google.com/api/adwords/cm/v201302/CampaignService
>>> Accept-Encoding: gzip,deflate, SOAPAction: "get", User-Agent: bw_console 
>>> (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
>>> curb), Authorization: Bearer ya29.AHxXh6zvQ, Content-Type: 
>>> text/xml;charset=UTF-8, Content-Length: 837
>>> http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"; xmlns:wsdl="
>>> https://adwords.google.com/api/adwords/cm/v201302"; xmlns:env="
>>> http://schemas.xmlsoap.org/soap/envelope/";>>> xmlns="https://adwords.google.com/api/adwords/cm/v201302";>console
>>>  
>>> (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
>>> curb)h6Axxxweg>>  
>>> xmlns="https://adwords.google.com/api/adwords/cm/v201302
>>> ">IdNameStatusNameASCENDING
>>> HTTPI executes HTTP POST using the curb adapter
>>> SOAP response (status 500):
>>> >> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>>>  
>>> xmlns="https://adwords.google.com/api/adwords/cm/v201302";>0004e1e1b8b62a800aed881c1a3bCampaignServiceget0230soap:Server[AuthenticationError.OAUTH_TOKEN_INVALID
>>>  
>>> @ ; trigger:'']https://adwords.google.com/api/adwords/cm/v201302";>[AuthenticationError.OAUTH_TOKEN_INVALID
>>>  
>>> @ ; 
>>> trigger:'']ApiException>>  
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>>> xsi:type="AuthenticationError">AuthenticationError.OAUTH_TOKEN_INVALIDAuthenticationErrorOAUTH_TOKEN_INVALID
>>> Content-Type: text/xml; charset=UTF-8, Date: Fri, 19 Jul 2013 18:44:49 
>>> GMT, Expires: Fri, 19 Jul 2013 18:44:49 GMT, Cache-Control: private, 
>>> max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, 
>>> X-XSS-Protection: 1; mode=block, Server: GSE, Transfer-Encoding: chunked
>>> AdwordsApi::V201302::CampaignService::ApiException: 
>>> [AuthenticationError.OAUTH_TOKEN_INVALID @ ; trigger:'']
>>>
>>> Thank you to anyone that can help. I really need to get this integration 
>>> completed.
>>>
>>

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

You received this message because you are subscribed to the Google
G

Re: ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi,

Please see this common error 
page
. 
For the clientCustomerId header, please make sure you are requesting the 
clientCustomerId for a client account not a MCC account.

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 5:13:55 PM UTC+9, DEEPAK KUMAR wrote:
>
> Hello All 
>
> I am trying to download Report Using Google adwords api.
> When I Run to the below given code it gives me error 
> "ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector" 
> Please Help me.
>
> using System;
> using System.Collections.Generic;
> using System.Linq;
> using System.Web;
> using System.Web.UI;
> using System.Web.UI.WebControls;
> using System.IO;
> using System.Diagnostics;
> using System.Net;
>
> public partial class _Default : System.Web.UI.Page 
> {
> protected void Page_Load(object sender, EventArgs e)
> {
>
> }
> public bool DownloadReportDefinition(string reportDefinitionXml, 
> string authToken, string clientCustomerId, string developerToken, string 
> filePath, bool downloadInMicros)
> {
> Uri downloadUrl = new Uri("
> https://adwords.google.com/api/adwords/reportdownload/v201306";);
>
> WebRequest request = HttpWebRequest.Create(downloadUrl);
> request.Headers.Add("clientCustomerId: " + clientCustomerId);
> request.Headers.Add("developerToken: " + developerToken);
> request.Headers.Add("Authorization: GoogleLogin auth=" + 
> authToken);
> request.Headers.Add("returnMoneyInMicros: " + 
> downloadInMicros.ToString().ToLower());
>
> request.Method = "POST";
> request.ContentType = "application/x-www-form-urlencoded";
> using (StreamWriter writer = new 
> StreamWriter(request.GetRequestStream()))
> {
> writer.Write("__rdxml=" + 
> HttpUtility.UrlEncode(reportDefinitionXml));
> }
>
> WebResponse response = null;
> bool success = false;
> try
> {
> response = request.GetResponse();   
> success = true;
> }
> catch (WebException ex)
> {
> // The server will return an error code other than 200 if 
> something goes wrong. The actual reason for
> // failure can be found by reading the response.
> response = ex.Response;
> 
> }
>  DownloadReportToFile(filePath, response);
>  return success;
> }
>
> private static void DownloadReportToFile(string filePath, WebResponse 
> response)
> {
> FileStream outputStream = File.Create(filePath);
> using (Stream responseStream = response.GetResponseStream())
> {
> CopyStream(responseStream, outputStream);
> }
> outputStream.Close();
> }
>
> private static void CopyStream(Stream sourceStream, Stream 
> targetStream)
> {
> int bufferSize = 2 << 20;
> byte[] buffer = new byte[bufferSize];
>
> int bytesRead = 0;
> while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
> {
> targetStream.Write(buffer, 0, bytesRead);
> }
> }
> protected void btnDownloadRepot_Click(object sender, EventArgs e)
> {
> //
> string reportDefination = "";
> reportDefination = "";
> reportDefination = reportDefination + "";
> reportDefination = reportDefination + "Id";
> reportDefination = reportDefination + "Date";
> reportDefination = reportDefination + "AdGroupId";
> reportDefination = reportDefination + 
> "Impressions";
> reportDefination = reportDefination + "Clicks";
> reportDefination = reportDefination + "Cost";
> reportDefination = reportDefination + 
> "Conversions";
> reportDefination = reportDefination + 
> "ConversionValue";
> reportDefination = reportDefination + 
> "AveragePosition";
> reportDefination = reportDefination + "";
> reportDefination = reportDefination + "20130701";
> reportDefination = reportDefination + "20130718";
> reportDefination = reportDefination + "";
> reportDefination = reportDefination + "";
> reportDefination = reportDefination + "AD PERFORMANCE 
> REPORT";
> reportDefination = reportDefination + 
> "AD_PERFORMANCE_REPORT";
> reportDefination = reportDefination + 
> "CUSTOM_DATE";
> reportDefination = reportDefination + 
> "XML";
> reportDefination = reportDefination + "";
> string authetoken = "";
> authetoken = "xyz";
>
> DownloadReportDefinition(reportDefination, authetoken, "123", 
> "abc", "C:\\Users\\deepak.singh\\Documents", true);
>
> }
> }
>
>
> Thanks & Warm Regards
> Deepak Singh
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion

Re: [Python] ReportDownloader seems to be not working

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi Michael, 

Thanks for the report. 
Do you mind filing a issue on the issue 
tracker
?

Best,
- Takeshi, AdWords API Team

On Saturday, July 20, 2013 11:54:54 PM UTC+9, Michael Samoylov wrote:
>
> Hi.
>
> I can't use download reports with the Python client. I'm using with 
> adwords-15.9.0 with v201306. It always faild with: 
>
> headers['Authorization'] = 'Bearer ' + self.access_token
> TypeError: cannot concatenate 'str' and 'NoneType' objects
>
> Example scripts 
> get_report_fields.py
>  and 
> get_campaign_stats.py
>  work 
> fine but 
> download_criteria_report.py
>  and 
> download_criteria_report_with_awql.py
>  fail 
> with the same error.
>
> Any ideas?
>
> Thanks,
> Mike
>

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

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

--- 
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/groups/opt_out.




Re: updating from Cross Client Report Download (ReportUtils::RunAsyncReport) to ReportUtils::DownloadReport

2013-07-22 Thread iateadonut
Great,  I'm glad it worked for you.  I've used pcntl for a few things since.

Be careful installing pcntl on a server you share with others, though.  A 
runaway fork can easily take down your whole server.

On Monday, June 3, 2013 9:44:19 PM UTC-4, Bill Zhang wrote:
>
> Thank you iateadonut. Your solution help us reduce the synchronization 
> time dramatically. From 7~8 hours to within 10 minutes.
>
> Best regads,
>
> Bill
>
> On Friday, December 16, 2011 12:23:44 PM UTC+10, iateadonut wrote:
>>
>> Thanks,
>>
>> I did it with pcntl_fork.  (had a lot of different advice on this -
>> yours turned out to be the best)
>>
>> The only problem is that it is consistently triggering Captcha's
>> (except one doing them one at a time, which takes forever).  How do I
>> deal with these?
>>
>> Here is the code.  I will post it in the other discussion groups where
>> I gave advice pertinent on CrossClient Reports after I complete this
>> taking care of Captcha's.
>>
>> >
>> error_reporting(E_STRICT | E_ALL);
>>
>> // You can set the include path to src directory or reference
>> // AdWordsUser.php directly via require_once.
>> // $path = '/path/to/aw_api_php_lib/src';
>> include('../definedb.php'); //
>> include('./accountsArray.php'); //sets $adwordsAPIpath, uses $selector
>> = new ServicedAccountSelector(); to make an array of all accounts
>> //$accountsArray = array('4503399530');
>> //print_r($accountsArray);exit;
>> $path = $adwordsAPIpath.'/../../live_api2/src/';
>> set_include_path(get_include_path() . PATH_SEPARATOR . $path);
>>
>> require_once 'Google/Api/Ads/AdWords/Lib/AdWordsUser.php';
>> require_once 'Google/Api/Ads/AdWords/Util/ReportUtils.php';
>>
>>   // Get AdWordsUser from credentials in "../auth.ini"
>>   // relative to the AdWordsUser.php file's directory.
>>   $user = new AdWordsUser();
>> //$user->SetClientId($customerId);
>>
>>   // Log SOAP XML request and response.
>>   $user->LogDefaults();
>>
>>   // Load ReportDefinitionService so that the required classes are
>> available.
>>   $user->LoadService('ReportDefinitionService', 'v201109');
>>
>>   // Create selector.
>>   $selector = new Selector();
>> $selector->fields = array('ExternalCustomerId',
>> 'AccountDescriptiveName', 'PrimaryUserLogin', 'Date', 'Id', 'Name',
>> 'Impressions', 'Clicks', 'Cost');
>>   //$selector->predicates[] =
>>   //new Predicate('Status', 'IN', array('ENABLED', 'PAUSED'));
>>
>>   // Create report definition.
>>   $reportDefinition = new ReportDefinition();
>>   $reportDefinition->selector = $selector;
>>   $reportDefinition->reportName = 'Campaign performance report #' .
>> time();
>>   $reportDefinition->dateRangeType = 'LAST_7_DAYS';
>>   $reportDefinition->reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
>>   $reportDefinition->downloadFormat = 'CSV';
>>   $reportDefinition->includeZeroImpressions = FALSE;
>>
>>   $options = array('version' => 'v201109', 'returnMoneyInMicros' =>
>> FALSE);
>>
>> $pids = array();
>>
>> $j = 0;
>>
>> for ($i=0; $i>
>> if($j==10) { echo $j." ---\n"; $j=0; }
>>
>> $pids[$i] = pcntl_fork();
>>
>>   if(!$pids[$i]) {
>>
>> // child process
>>
>> try {
>>   // Get AdWordsUser from credentials in "../auth.ini"
>>   // relative to the AdWordsUser.php file's directory.
>>
>> $customerId = $accountsArray[$i];
>>
>> $user->SetClientId($customerId);
>>
>>   $fileName = "7days-".$customerId.".csv";
>>   $path = dirname(__FILE__) . '/../reports/7days/' . $fileName;
>>
>>   ReportUtils::DownloadReport($reportDefinition, $path, $user,
>> $options);
>>
>>   printf("Report with name '%s' was downloaded to '%s'.\n",
>>   $reportDefinition->reportName, $fileName);
>>
>>   } catch (Exception $e) {
>>   print $e->getMessage();
>> }
>>
>> exit();
>>   }
>> $j++;
>> }
>>
>>
>> On Dec 15, 9:55 am, Kevin Winter  wrote:
>> > Hi,
>> >   I'm not very familiar with PHP, but I believe one suggested approach 
>> is
>> > to use pcntl_fork to spawn extra processes and handle multiple 
>> concurrent
>> > report downloads that way:
>> http://php.net/manual/en/function.pcntl-fork.php
>> >
>> > - Kevin Winter
>> > AdWords API Team
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Wednesday, December 14, 2011 11:33:59 PM UTC-5, iateadonut wrote:
>> >
>> > > How do you suggest requesting 10 reports at a time (from an array of
>> > > 300 customerId's) using php?  or is this impossible?
>> >
>> > > On Dec 12, 12:33 pm, Kevin Winter  wrote:
>> > > > Hi,
>> > > >   Given that AdHoc reports cost 0 units, the cost of requesting the
>> > > report
>> > > > to you as a developer is the CPU cycles (and IO) required to 
>> request it.
>> > > >  The cost to us from a server perspective is a bit more.  However, 
>> if you
>> > > > as a developer don't know at report time whether or not there is 
>> data to
>> > > > request, it makes sense to request it anyway.  Yes, go ahead and 
>> request
>> > > > the report anyway.
>> >
>> > > > - Kevin Winter
>> > 

Re: Setting Content Bid Dimension with contentBidCriterionTypeGroup

2013-07-22 Thread alx
Hi Takeshi,

I guess I was not clear enough (regarding the first question) as it's not 
exactly what I was asking...

Basically, for Display campaigns only, I can specify what bid dimension 
should be used for particular ad group. Thus, I can set 
AdGroup.contentBidCriterionTypeGroup = CriterionTypeGroup.PLACEMENT // use 
placements bids
OR
AdGroup.contentBidCriterionTypeGroup = CriterionTypeGroup.KEYWORD   // use 
keywords bids
OR
etc...

As you confirmed AdGroup.contentBidCriterionTypeGroup is not mandatory when 
creating a new group and if it's not provided then Ad Group level default 
bids are used. However, once AdGroup.contentBidCriterionTypeGroup gets to 
be set to PLACEMENT/KEYWORD/etc.. there is no way to reset it back to null, 
so that Ad group level default bids would be used again. I can definitely 
can do in UI, but (unless I am missing something) it seems like I cannot do 
it with the API.

Thanks,
--Alex

 



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

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

--- 
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/groups/opt_out.




Re: Search funnels report

2013-07-22 Thread David Torres (AdWords API Team)
Hi Alex,

I don't have you an update at this moment, but we definitively have it in 
our mind. Sorry, I just don't have more specifics to share.

Best,

- David Torres - AdWords API Team

On Thursday, July 18, 2013 10:10:42 AM UTC-4, Alex wrote:
>
> Hi,
> are there any plans to implement search funnels in the API? At the Google 
> Adwords API Workshops was said that you try to offer all features from the 
> Adwords Interface in the API. Search funnels are available in the Adwords 
> Interface for some time now, but there is no way to get the data over API.
> It seems like analytics API (which does return search funnel data) doesnt 
> return any IDs. Hence we can not match the data to Adwords-Data.
>
>
> Am Dienstag, 22. November 2011 21:27:56 UTC+1 schrieb Eric Koleda:
>>
>> Hi,
>>
>> Unfortunately there has been no change, and this data is not exposed via 
>> the API.
>>
>> Best,
>> - Eric
>>
>

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

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

--- 
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/groups/opt_out.




Help migration Adwords API 201209 to 201306

2013-07-22 Thread mcn . adwordz
 

I'm migrating from API 201209 to 201306 but have a lot of problems:

This is my old code


try {

 Boolean mail_flag = false;


  String clientLoginToken = new ClientLoginTokens(ClientLoginTokens.
ADWORDS_SERVICE).

   from(adwordsPropertyService.getEmail(),

   adwordsPropertyService.getPassword());


  // Construct an AdWordsSession.

 AdWordsSession session = new AdWordsSession.Builder().withDeveloperToken(
adwordsPropertyService.getDeveloperToken())

  .withUserAgent(adwordsPropertyService.getUseragent())

  .withEndpoint("https:/adwords.google.com/api/adwords/")

  .withEnvironment(Environment.PRODUCTION)

  .withClientLoginToken(clientLoginToken).build();


  AdWordsServices adWordsServices = new AdWordsServices();


  LinkedList operations2 = 
newLinkedList();

 List adwordsCode = zonaService.findAdwordsCode();

 // Get the ServicedAccountService.


  ManagedCustomerServiceInterface managedCustomerService = 
adWordsServices.get(session, ManagedCustomerServiceInterface.class);


  // Create selector.

 Selector selector = new Selector();

 selector.setFields(new String[]{"Login", "CustomerId",  "Name"});


  // Get results.

 ManagedCustomerPage page = managedCustomerService.get(selector);


  for (ManagedCustomer account : page.getEntries()) {

  logger.info("Client with email "+account.getLogin()+" has ID "
+account.getCustomerId()+".");


  try{

  // Get the CampaignService.

  session.setClientCustomerId(account.getCustomerId().toString());


   CampaignServiceInterface campaignService = adWordsServices.get(session, 
CampaignServiceInterface.class);


   // Create selector.

  Selector selectorCampaign = new Selector();

  selectorCampaign.setFields(new String[] {"Id", "Name", "Status"});

  selectorCampaign.setOrdering(new OrderBy[] {new OrderBy("Name", SortOrder.
ASCENDING)});


  … … ...

  
First problem is when execute


 ManagedCustomerServiceInterface managedCustomerService = 
adWordsServices.get(session, ManagedCustomerServiceInterface.class);


that give me follow error:


 No group found for service: v201306.ManagedCustomerService


How can I resolve it?


Thanks a lot for your help.

Best regards,

Marco

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

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

--- 
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/groups/opt_out.




Re: OAUTH_TOKEN_INVALID ruby client

2013-07-22 Thread Matthew Ledom
Thanks I would like to know the correct way to do this. I have not found an 
example the uses a refresh token that is stored in a db. I have seen the 
setup_oauth2.rb example where the refresh token is written to a file. 
Creating a new AdwordsApi::Api with the yml file and setting credentials 
does not seem to work.

On Monday, July 22, 2013 2:13:02 AM UTC-4, Takeshi Hagikura (AdWords API 
Team) wrote:
>
> Hi Matthew,
>
> Looks like the access_token (it expires in one hour) was issued at 
> "2013-07-19 14:56:06 -0400".
> So at the time you made a request, the access token seemed to expire. 
>
> If you make the oauth token request in offline mode, the response should 
> contain refresh_token (that never expires). 
> Using that you can get a new access toke if the existing access token is 
> about to expire. 
>
> I'm asking the ruby library maintainer on how to make a offline oauth 
> token request in more detail. 
>
> Best,
> - Takeshi, AdWords API Team
>
> On Saturday, July 20, 2013 4:01:13 AM UTC+9, Matthew Ledom wrote:
>>
>> I keep receiving this error when I try to use a service. In this instance 
>> I'm use the campaign service. I had everything working with ClientLogin and 
>> found that Reports are only supported with OAUTH2 so I'm trying to get that 
>> implemented.
>>
>> I have setup my app to retrieve a offline token via the browser redirect 
>> work flow. I have also setup my adword model to request a new access token 
>> using the provided refresh token from the previous step. I can take that 
>> token and use it in the following code:
>>
>> api.authorize(:oauth2_token => token )
>>
>> where token:
>> {"access_token"=>"ya29.AxxxXh6zvQ",
>>  "token_type"=>"Bearer",
>>  "expires_in"=>3600,
>>  "id_token"=>
>>   "eyJhbxxxB3MO4"}
>>
>> this returns:
>> {:access_token=>"ya29.AHEJXh6zvQ",
>>  :refresh_token=>nil,
>>  :issued_at=>2013-07-19 14:56:06 -0400,
>>  :expires_in=>3600,
>>  :id_token=>
>>   "eyJhbxxxLB3MO4"}
>>
>> When I use this api object to call the campaign service I get the output 
>> provided below. The reporting download is the final piece needed to 
>> approval and I've searched all over this group and the web and can't find 
>> anything that helps. I'm using the latest versions of the ruby gem: 
>> google-ads-common (0.9.3) and google-adwords-api (0.9.3) 
>>
>> SOAP request: 
>> https://adwords.google.com/api/adwords/cm/v201302/CampaignService
>> Accept-Encoding: gzip,deflate, SOAPAction: "get", User-Agent: bw_console 
>> (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
>> curb), Authorization: Bearer ya29.AHxXh6zvQ, Content-Type: 
>> text/xml;charset=UTF-8, Content-Length: 837
>> http://www.w3.org/2001/XMLSchema"; xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"; xmlns:wsdl="
>> https://adwords.google.com/api/adwords/cm/v201302"; xmlns:env="
>> http://schemas.xmlsoap.org/soap/envelope/";>> xmlns="https://adwords.google.com/api/adwords/cm/v201302";>console 
>> (AwApi-Ruby/0.9.3, Common-Ruby/0.9.3, Savon/1.2.0, ruby/1.9.3, HTTPI/1.1.1, 
>> curb)h6Axxxweg>  
>> xmlns="https://adwords.google.com/api/adwords/cm/v201302
>> ">IdNameStatusNameASCENDING
>> HTTPI executes HTTP POST using the curb adapter
>> SOAP response (status 500):
>> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>>  
>> xmlns="https://adwords.google.com/api/adwords/cm/v201302";>0004e1e1b8b62a800aed881c1a3bCampaignServiceget0230soap:Server[AuthenticationError.OAUTH_TOKEN_INVALID
>>  
>> @ ; trigger:'']https://adwords.google.com/api/adwords/cm/v201302";>[AuthenticationError.OAUTH_TOKEN_INVALID
>>  
>> @ ; 
>> trigger:'']ApiException>  
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>> xsi:type="AuthenticationError">AuthenticationError.OAUTH_TOKEN_INVALIDAuthenticationErrorOAUTH_TOKEN_INVALID
>> Content-Type: text/xml; charset=UTF-8, Date: Fri, 19 Jul 2013 18:44:49 
>> GMT, Expires: Fri, 19 Jul 2013 18:44:49 GMT, Cache-Control: private, 
>> max-age=0, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, 
>> X-XSS-Protection: 1; mode=block, Server: GSE, Transfer-Encoding: chunked
>> AdwordsApi::V201302::CampaignService::ApiException: 
>> [AuthenticationError.OAUTH_TOKEN_INVALID @ ; trigger:'']
>>
>> Thank you to anyone that can help. I really need to get this integration 
>> completed.
>>
>

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

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

--- 
You received this message because you are subscribed to the Google Groups 

Push Campaign / Ads / Keywords using SSIS

2013-07-22 Thread Copier Man
I am creating a solution for an e-commerce company where we can run an 
overnight process to push new campaigns / ads and update / pause others 
depending on new items that come in or go out of stock. 

We want a hands-off solution where the API can be called automatically from 
our SQL 2008 server. I have read a couple of posts where this has been 
done, but there is no real documentation on this.
The idea I had was to compile the API interface project to run as an EXE or 
Service on the sql server. The SSIS job would run in two phases:

Phase 1: Renew the campaign / Ad data in our database using a dedicated 
stored procedure. 

Phase 2: Run the API EXE and loop through each campaign in the table 
created in (1) and batch push all ads / keywords for that campaign to 
Adwords account. If we encounter an item out of stock then use the API to 
pause that item (if that's possible through API). 

Phase 3: Repeat for next campaign in table

I did read in the documentation that there is a Service account you can 
apply for. Is this service account required for such an application? We 
have already registered for and received the standard API token. 

Thanks in advance,
Jason Lorenti
CopierSupplyStore

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

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

--- 
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/groups/opt_out.




dateRangeType = 'LAST_7_DAYS'; not working correctly - Downloading report on july 22 not giving july 21 data

2013-07-22 Thread iateadonut
I'm using the dataRangeType of LAST_7_DAYS, which started malfunctioning 
today.  (The same script I ran today did not give me results for 
yesterday.  When I ran it last week, it did give me results for 
'yesterday'.)

In other words, the following test script, when run on July 22, does not 
include data for July 21, but for July 15-July 24.

The test script is:


GetAuthToken(); //get the token now; this should force php not 
to fetch the token for each fork()

// Log SOAP XML request and response.
$user->LogDefaults();

// Load ReportDefinitionService so that the required classes are available.
$user->LoadService('ReportDefinitionService', $adwordsVersion);


// Create selector.
$selector = new Selector();
$selector->fields = array('ExternalCustomerId', 'AccountDescriptiveName', 
'PrimaryUserLogin', 'Date', 'AdNetworkType2', 'ValuePerConversion', 
'AveragePosition', 'AverageCpc', 'AverageCpm', 'Ctr', 'CampaignName', 
'CampaignId', 'Status', 'Clicks', 'AccountTimeZoneId', 'ConversionRate', 
'Conversions', 'Cost', 'CostPerConversion', 
'CostPerConversionManyPerClick', 'Amount', 'Impressions', 'InvalidClicks', 
'InvalidClickRate', 'TotalConvValue', 'ConversionsManyPerClick', 
'SearchExactMatchImpressionShare', 'SearchImpressionShare', 
'SearchBudgetLostImpressionShare', 'ContentRankLostImpressionShare');
$selector->predicates[] =
new Predicate('Status', 'IN', array('ACTIVE', 'DELETED', 'PAUSED'));

// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->selector = $selector;
$reportDefinition->reportName = 'CAMPAIGN performance report #' . time();
$reportDefinition->dateRangeType = 'LAST_7_DAYS';
$reportDefinition->reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'CSV';
$reportDefinition->includeZeroImpressions = FALSE;

$options = array('version' => $adwordsVersion, 'returnMoneyInMicros' => 
FALSE);


try
{

$fileName = "Complex-".$customerId.".csv";
$path = dirname(__FILE__) . '/test/' . $fileName;

$user->SetClientCustomerId($customerId);

ReportUtils::DownloadReport($reportDefinition, $path, $user, $options );

printf("Report with name '%s' was downloaded to '%s'.\n",
$reportDefinition->reportName, $fileName);

} catch (Exception $e) {

print $e->getMessage() . " adwordsId - $customerId \n";

}

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

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

--- 
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/groups/opt_out.




Re: Getting Error The SoapListenerExtension class is not loaded. The most possible cause for this error is that you haven't registered Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extensi

2013-07-22 Thread Anash P. Oommen (AdWords API Team)
Hi Jonathan,

Most likely this is a assembly binding issue, could you run fuslogvw.exe 
and see if that's the case? 
http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71).aspx

Cheers,
Anash

On Friday, July 19, 2013 4:42:12 AM UTC+5:30, Jonathan Shaltz wrote:
>
> What else might be necessary?  My app runs on my local machine but not on 
> any of several servers, though I have full admin rights there.  The error 
> message turns up little in search results, beyond this very forum and a few 
> nearly-identical versions:
>
> The SoapListenerExtension class is not loaded. The most possible cause for 
> this error is that you haven't registered 
> Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under 
> configuration/system.web/webServices/soapExtensionTypes in your your 
> App.config or Web.config. See the sample App.config for details on how to 
> register soap extensions.
>
> Here's what I have in my app.config:
>
> 
> 
> 
>   type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089">
>   type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089" 
> allowExeDefinition="MachineToLocalUser" requirePermission="false" />
>  
> 
> ...
> ...
> 
> 
> 
> 
> 
> 
> 
>  sku=".NETFramework,Version=v4.0"/>
> 
>
>
> On Friday, April 6, 2012 7:56:41 AM UTC-5, David Torres wrote:
>>
>> Hi,
>>
>> Make sure you have this line in your App.config or Web.config
>>
>> 
>>
>>
>> Did you just migrated to version >= 14.0.0?
>>
>> Best,
>>
>> -David Torres - AdWords API Team
>>
>> On Tuesday, April 3, 2012 1:09:49 AM UTC-4, Pramod Patil wrote:
>>>
>>> Hi
>>>
>>> I am using newer version of  Google.Api.Ads.AdWords.v201109. but I am 
>>> getting error on red code line . would you please help to resolve this.
>>>
>>> Error : 
>>>
>>> T*he SoapListenerExtension class is not loaded. The most possible cause 
>>> for this error is that you haven't registered 
>>> Google.Api.Ads.Common.Lib.SoapListenerExtension as a soap extension under 
>>> configuration/system.web/webServices/soapExtensionTypes in your your 
>>> App.config or Web.config.*
>>>
>>>
>>> Below is my code.
>>>
>>> Imports Google.Api.Ads.AdWords.Lib
>>> Imports Google.Api.Ads.AdWords.v13
>>> Imports Google.Api.Ads.AdWords.v201109
>>>
>>> Public Function getUser() As AdWordsUser
>>> Dim headers As New Dictionary(Of String, String)
>>> Dim SearchEngineDBObj As New SearchEngineDB(SQLConn)
>>> Dim SearchEngineObj As SearchEngine
>>> Dim emailObj As New 
>>> FusionLibrary.Fusion.Campaign.eMail("192.168.2.205")
>>>
>>> SearchEngineObj = SearchEngineDBObj.populate("Google")
>>> If SearchEngineObj Is Nothing Then
>>> SearchID = 0
>>> Return Nothing
>>> End If
>>>
>>> SearchID = SearchEngineObj.SearchID
>>> headers.Add("email", "X")
>>> headers.Add("password", "")
>>> headers.Add("useragent", "X")
>>> headers.Add("developerToken", "XX")
>>> headers.Add("applicationToken", "XX")
>>> headers.Add("clientCustomerId", "XX"
>>> 'headers.Add("AuthorizationMethod", "ClientLogin")
>>>
>>> Try
>>> Dim AdWordsUserObj As New AdWordsUser(headers)
>>> Return AdWordsUserObj
>>> Catch ex As Exception
>>> Return Nothing
>>> End Try
>>> End Function
>>>
>>>   Public Function updateCampaigns() As Integer
>>> Dim user As AdWordsUser
>>> user = getUser()
>>>
>>> If user Is Nothing Then
>>> Return 0
>>> End If
>>>
>>> Dim CampaignServiceObj As CampaignService
>>> Dim page As CampaignPage
>>> Dim SearchEngineeCampaignDBObj As New 
>>> SearchEngineCampaignDB(SQLConn)
>>> Dim secObj As SearchEngineCampaign
>>> Dim rtn As String
>>>
>>> CampaignServiceObj = 
>>> user.GetService(AdWordsService.v201109.CampaignService)
>>>
>>> Try
>>> Dim selector As New Selector()
>>> selector.fields = New String() {"Id", "Name", "Status"}
>>>
>>> Dim orderByName As New OrderBy()
>>> orderByName.field = "Name"
>>> orderByName.sortOrder = SortOrder.ASCENDING
>>>
>>> Dim emailObj As New 
>>> FusionLibrary.Fusion.Campaign.eMail("XX")
>>>
>>> Dim SearchEngineDBObj As New SearchEngineDB(SQLConn)
>>> Dim SearchEngineObj As SearchEngine
>>>
>>> SearchEngineObj = SearchEngineDBObj.populate("Google")
>>> If SearchEngineObj Is Nothing Then
>>> SearchID = 0
>>> Return Nothing
>>>   

OAuth2 autorization x Adwords API

2013-07-22 Thread mcn . adwordz
Hi,
I'm writing the autentication code for work with adwords api.
I read the official guide: 
https://code.google.com/p/google-api-ads-java/source/browse/examples/adwords_axis/README


// Get an OAuth2 credential.
Credential credential = new OfflineCredentials.Builder()
.forApi(OfflineCredentials.Api.AdWords)
.withClientSecrets(clientId, clientSecret)
.withRefreshToken(refreshToken)
.build()
.generateCredential();

// Construct an AdWordsSession.
AdWordsSession session = new AdWordsSession.Builder()
.withDeveloperToken(developerToken)
// ...
.withOAuth2Credential(credential)
.build();
I generated clientId and clientSecret, but refreshToken? How calculate it?

Thanks for your help

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

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

--- 
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/groups/opt_out.




Re: Can't reuse oauth2 token - gives me OAUTH_TOKEN_INVALID (Ruby client lib)

2013-07-22 Thread Matthew Ledom
I was finally able to get it working. I had to merge my stored token values 
with the loaded config params from the adwords_api.yml file.  Trying to 
figure out how to set the token after the api object was created was 
causing issues. I used the setup_oauth2.rb example to write the values to 
my config and removed the token information. I'm storing that data in the 
db and load when I need to use it.:

config = File.join( Rails.root, 'config', 'adwords_api.yml' )
config_data = YAML::load_file( config )
config_data[:authentication].merge!({
  :oauth2_token => {
:chunking => true,
:access_token => self.access_token,
:refresh_token => self.refresh_token,
:issued_at => self.expires_at - 3600,
:expires_in => 3600
  }
})
@api = AdwordsApi::Api.new( config_data )

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

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

--- 
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/groups/opt_out.




Re: Experiments (ACE) for adcopies: 'get' method doesn't seem to work for ExperimentDeltaStatus and ExperimentDataStatus

2013-07-22 Thread Francesco Della Vedova
*** Outgoing SOAP **

http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201302"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
ns0:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
 
.
 
  
   
Id
AdGroupId
Headline
Description1
Description2
DisplayUrl
Url
ExperimentDeltaStatus

 AdGroupId
 IN
 11350788328


 Status
 IN
 ENABLED
 PAUSED


 0
 5000

   
  
 


*** Incoming HTTP headers **
HTTP/1.? 200 OK
Content-Type: text/xml; charset=UTF-8
Content-Encoding: gzip
Date: Mon, 22 Jul 2013 10:40:13 GMT
Expires: Mon, 22 Jul 2013 10:40:13 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE

*** Incoming SOAP **

http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201302"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 
  
   0004e2174d1af4a00ae5688940f3
   AdGroupAdService
   get
   1
   766
   0
  
 
 
  
   
660
AdGroupAdPage
 11350788328
 
  42267946288
  http://www.wimdu.se/?v=2
  www.Wimdu.se/London_hostels
  TextAd
  London prisvärda hostels
  Book hostels från 160 kr/n
  Enkelt och säkert online bokning
 
 ENABLED
 FAMILY_SAFE
 false
 
  SEARCH
  AdStats
  0.0
 


 11350788328
 
  42267946408
  http://www.wimdu.se/?v=2
  www.Wimdu.se/London_hostels
  TextAd
  London prisvärda hostels
  Boka kort resa till London
  Wimdu™ Helt enkelt bättre än 
hotell
 
 ENABLED
 FAMILY_SAFE
 false
 
  SEARCH
  AdStats
  0.0
 

   
  
 


EndTime: 2013-07-22 12:40:14

On Friday, 19 July 2013 17:02:40 UTC+2, David Torres (AdWords API Team) 
wrote:
>
> Hi Francesco,
>
> Could you please post a sanitized sample of your SOAP logs? or just the 
> requestId will suffice.
>
> Best,
>
> - David Torres - AdWords API Team
>
> On Tuesday, July 16, 2013 11:38:01 AM UTC-4, Francesco Della Vedova wrote:
>>
>> hello,
>> i'm trying to set up my application to run experiments. After setting up 
>> the experiment at campaign level, I try to get the ExperimentDeltaStatus of 
>> the adcopies, that I assume to be modified (or on adwords online, 'control 
>> and experiment'). But the field seems to always be empty...I added the 
>> right field to the selector, but nothing appears in the results. Even after 
>> manually setting ads to CONTROL_ONLY or EXPERIMENT_ONLY, still nothing 
>> comes back.
>>
>> here the selector:
>> selector = {
>> 'fields': ['Id',
>>'AdGroupId',
>>'Headline',
>>'Description1',
>>'Description2',
>>'DisplayUrl',
>>'Url',
>>'ExperimentDeltaStatus'],
>> 'predicates': [
>> {'field': 'Status',
>>  'operator': 'IN',
>>  'values': ['ENABLED', 'PAUSED']}],
>>
>> here what i get back from the API:
>>
>> >>>result.keys()
>> ['status', 'adGroupId', 'stats', 'ad', 'trademarkDisapproved', 
>> 'approvalStatus']
>>
>>
>>

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

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

--- 
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/groups/opt_out.




ORDER BY Clicks DESC Returns INVALID_ORDER_BY_CLAUSE - Bug

2013-07-22 Thread Marcin Rosinski


Hi guys, there seems to be a bug regarding the Reporting AWQL endpoint.


What steps will reproduce the problem?
Run query:
SELECT Query, MatchType, Clicks, Cost, Impressions FROM 
SEARCH_QUERY_PERFORMANCE_REPORT DURING 20130621,20130721 ORDER BY Clicks DESC

Query without ORDER BY Clicks DESC works all OK.
Please can you advise.


P.S.

Initially I have reported it here - 
https://code.google.com/p/google-api-adwords-php/issues/detail?id=103 but been 
asked to move it under this forum.  

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

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

--- 
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/groups/opt_out.




Re: Can't reuse oauth2 token - gives me OAUTH_TOKEN_INVALID (Ruby client lib)

2013-07-22 Thread Paul Matthews (AdWords API Team)
Hi Matthew,

The Ruby OAuth2 info 
along 
with the 
README
 should 
explain all the steps for configuring your client. But it's worth testing 
the setup_oauth2.rb 
example,
 
to see if that resolves the issue.

Finally, if you're receiving a token, but when used it responds with 
OAUTH_TOKEN_INVALID, we recommend checking your token with the tokeninfo 
service.
 
Once you've received a token response, you can send it to the tokeninfo 
service, for information on the token. See below for an example.

https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=**
.

Regards,

- Paul, AdWords API Team.

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

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

--- 
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/groups/opt_out.




Does Keyword Performance Report contain statistics of upgraded sitelinks?

2013-07-22 Thread gai-test-1
Hello,

does the Keyword Performance Report also contain keyfigures of upgraded 
sitelinks? Or do we need to query the Placeholder Feed Item Performance 
Report for keyfigures of upgraded sitelinks?

Thank you :-)

Andreas B. 

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

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

--- 
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/groups/opt_out.




Re: Experiments (ACE) for adcopies: 'get' method doesn't seem to work for ExperimentDeltaStatus and ExperimentDataStatus

2013-07-22 Thread Francesco Della Vedova


On Tuesday, 16 July 2013 17:38:01 UTC+2, Francesco Della Vedova wrote:
>
> hello,
> i'm trying to set up my application to run experiments. After setting up 
> the experiment at campaign level, I try to get the ExperimentDeltaStatus of 
> the adcopies, that I assume to be modified (or on adwords online, 'control 
> and experiment'). But the field seems to always be empty...I added the 
> right field to the selector, but nothing appears in the results. Even after 
> manually setting ads to CONTROL_ONLY or EXPERIMENT_ONLY, still nothing 
> comes back.
>
> here the selector:
> selector = {
> 'fields': ['Id',
>'AdGroupId',
>'Headline',
>'Description1',
>'Description2',
>'DisplayUrl',
>'Url',
>'ExperimentDeltaStatus'],
> 'predicates': [
> {'field': 'Status',
>  'operator': 'IN',
>  'values': ['ENABLED', 'PAUSED']}],
>
> here what i get back from the API:
>
> >>>result.keys()
> ['status', 'adGroupId', 'stats', 'ad', 'trademarkDisapproved', 
> 'approvalStatus']
>
>
>

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

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

--- 
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/groups/opt_out.




Re: How do I get Criteria by CriteriaId?

2013-07-22 Thread aradhyatripathi13
Hi David,

So there is no way to get criteria by IDs?
Please consider including this in future API upgrades.

Cheers,
Aradhya

On Friday, 19 July 2013 02:22:03 UTC+5:30, David Torres (AdWords API Team) 
wrote:
>
> Hi Aradhya,
>
> We don't keep record of deleted campaign criteria, that is why there are 
> not visible to the CampaignCriterionService.
>
> Best,
>
> - David
>
> On Wednesday, July 17, 2013 2:57:37 AM UTC-4, aradhyat...@gmail.com wrote:
>>
>>
>> Hi David,
>>
>> I have deleted CriterionID 21176 from CampaignID 133529824.
>>
>> Thanks,
>> Aradhya. 
>>
>> On Wednesday, July 17, 2013 2:02:57 AM UTC+5:30, David Torres (AdWords 
>> API Team) wrote:
>>>
>>> Hi Aradhya,
>>>
>>> What kind of campaign criteria are you trying to retrieve? can you give 
>>> me a campaign ID as example?
>>>
>>> Best,
>>>
>>> - David
>>>
>>> On Monday, July 15, 2013 8:41:22 AM UTC-4, aradhyat...@gmail.com wrote:

 Hi David,

 I am getting this error when I tried what you suggested:

 SelectorError.INVALID_PREDICATE_FIELD_NAME @ serviceSelector; 
 trigger:'Status'

 I expected this would happen as there is no such field mentioned here: 
 https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201302-CampaignCriterionService

 Also, where can I get a list of all the possible statuses? 

 Thanks,
 Aradhya

 On Saturday, July 13, 2013 2:13:55 AM UTC+5:30, David Torres (AdWords 
 API Team) wrote:
>
> Hi Aradhya,
>
> For deleted criteria you also have to specific a predicate such as 
> Status IN ['DELETED']. By default deleted criteria is not returned by 
> the services.
>
> Best,
>
> - David Torres - AdWords API Team
>
> On Friday, July 12, 2013 2:11:35 AM UTC-4, aradhyat...@gmail.comwrote:
>>
>> Hi,
>>
>> I am using *CustomerSyncService *to get the ids of the criteria that 
>> have been added or deleted during a time period.
>> Now, I need the corresponding criterion objects from the ids.How do I 
>> accomplish this?
>> I tried using *CampaignCriterionService *and passing the CampaignIds 
>> and CriteriaIds as the predicates, *but I do not get the deleted 
>> criteria objects*.
>> I looked into *ConstantDataService*, but it returns all criterias, 
>> and there is no provision to filter by Ids.
>>
>> Thanks,
>> Aradhya
>>
>

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

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

--- 
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/groups/opt_out.




Downloading file for keywords with an error

2013-07-22 Thread me
I have tested new Keyword tool. When I download it is an error as CSV file 
includes wrong format of cell like Competition. It will result Date...
Need help.

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

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

--- 
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/groups/opt_out.




Re: [7-4674000001128] Re: Placements date from the API doesn't match with the real data

2013-07-22 Thread Shay Hananashvili
Hi Paul, Anything new?

please advise,
Regards Shay.
Smart Media Ltd.


2013/6/10 

> Hi Shay,
>
> My apologies for the delay in response. I'm looking into the requests made
> by your account and the numbers being returned. I'll get back to you as
> soon as I have more information.
>
> Regards,
>
> - Paul, AdWords API Team.
>
>
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
> Also find us on our blog and discussion group:
> http://googleadsdeveloper.blogspot.com/search/label/adwords_api
> https://developers.google.com/adwords/api/community/
> =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
>
> On 06/04/13 07:04:18 s...@smedia.co.il wrote:
>
> some details:
> AdWords API v201302
> Developer token: yxokggajv4gopNWc2Bj4Kw
> Client: *Hopy NIS* ( Client ID: 319-879-8061 )
> Campaign: *template cpm russia* ( ID: 119677335 )
> AdGroup: *special placements combo* ( ID: 5496375735 )
>
> running this simple code:
>
> 
> require_once 'init.php';
>
> function GetPlacementsEx(AdWordsUser $user, $adGroupId) {
>  $placements = array();
> $adGroupCriterionService = $user->GetService('**AdGroupCriterionService',
> ADWORDS_VERSION);
>  $selector = new Selector();
> $selector->fields = array('PlacementUrl', 'Id', 'Status', 'Impressions');
>  $selector->ordering[] = new OrderBy('Id', 'ASCENDING');
> $selector->predicates[] = new Predicate('AdGroupId', 'IN',
> is_array($adGroupId) ? $adGroupId : array($adGroupId));
>  $selector->predicates[] = new Predicate('CriteriaType', 'IN',
> array('PLACEMENT'));
> $page = $adGroupCriterionService->get(**$selector);
>  if (isset($page->entries))
> foreach ($page->entries as $adGroupCriterion)
> $placements[$adGroupCriterion-**>criterion->id] =
> array($adGroupCriterion->**criterion->url, $adGroupCriterion->userStatus,
> $adGroupCriterion->stats->**impressions);
>  return $placements;
> }
>
> try {
> $user = new AdWordsUser();
> //$user->LogAll();
>  $ag_id = array(5496375735);
> $adGroupCriterion = GetPlacementsEx($user, $ag_id);
> foreach ($adGroupCriterion as $agc_id => $agc_details)
>  printf("\t\tActive placement with URL '%s' and id '%s' was found.
> status:'%s' impr:'%s'\n", $agc_details[0], $agc_id, $agc_details[1],
> $agc_details[2]);
> } catch (Exception $e) {
> printf("An error has occurred: %s\n", $e->getMessage());
> }
>
> ?>
>
> I get 4692 results while google's campaign manager give's me 4706 results
> (lets call it `acceptable loss`).
> And the placements details are very inaccurate. for example:
> placement game01.ru ( 16203767823 ) has 351,678 impressions, and from the
> API I get 1090.
>
> [image: תמונה מוטבעת 1]
>
> this is one example out of *most *of the results.
> Please contact me with a solution.
>
> thanks,
> Shay.
>
>
> 2013/6/3 Paul Matthews (AdWords API Team)  google.com>
>
> Hi There,
>
> Is there any chance you could email us an example SOAP Request / Response,
> and what numbers you expect to see in it, so we can investigate this
> further.
>
> Regards,
>
> - Paul, AdWords API Team.
>
> On Thursday, 30 May 2013 10:44:22 UTC-4, sh...@smedia.co.il wrote:
>
> Hi.
>
> I wrote a code to pause all placements that has Ctr less than 2.5% and
> more than 200 impressions.
> The problem is that the data I recieve from the API is by far inacurate (I
> see 100 impressions for a placement with 30 impressions).
> I made a lot of tests and I came to a conclusion that the problem is not
> on my side.
>
> Code example:
> 
> require_once 'init.php';
>
> function GetCampaignsEx(AdWordsUser $user) {
> $campaigns = array();
>  $campaignService = $user->GetService('**CampaignSer**vice',
> ADWORDS_VERSION);
> $selector = new Selector();
>  $selector->fields = array('Id', 'Name');
> $selector->ordering[] = new OrderBy('Id', 'ASCENDING');
>  $selector->predicates[] = new Predicate('Name', 'CONTAINS_IGNORE_CASE',
> 'cpm');
> $selector->predicates[] = new Predicate('Status', 'IN', array('ACTIVE'));
>  $page = $campaignService->get($**selecto**r);
> if (isset($page->entries))
>  foreach ($page->entries as $campaign)
> $campaigns[$campaign->id] = $campaign->name;
>  return $campaigns;
> }
>
> function GetAdGroupsEx(AdWordsUser $user, $campaignId) {
>  $adGroups = array();
> $adGroupService = $user->GetService('**AdGroupServ**ice',
> ADWORDS_VERSION);
>  $selector = new Selector();
> $selector->fields = array('Id', 'Name');
>  $selector->ordering[] = new OrderBy('Id', 'ASCENDING');
> $selector->predicates[] = new Predicate('CampaignId', 'IN',
> array($campaignId));
>  $selector->predicates[] = new Predicate('Status', 'IN',
> array('ENABLED'));
> $page = $adGroupService->get($**selector**);
>  foreach ($page->entries as $adGroup)
> $adGroups[$adGroup->id] = $adGroup->name;
>  return $adGroups;
> }
>
> function GetPlacementsEx(AdWordsUser $user, $adGroupId) {
>  $placements = array();
> $adGroupCriterionService = $user->GetService('**AdGroupCrit**erionService',
> ADWORDS_VERSION);
>  $selector = new Selector();
> $dateRange = new DateRange();
>  $selector->fields = array('P

Manual SOAP for AdwordsUserListService - AuthenticationError.LOGIN_COOKIE_REQUIRED

2013-07-22 Thread Ryan Fink
Hello everyone,

I'm doing a [ somewhat ] manual soap request ( not using a client library ) 
to make a mutate request to the AdwordsUserListService, v201306.  I'm 
getting the AuthenticationError.LOGIN_COOKIE_REQUIRED error, although I'm 
using an auth token that works with other services, such as 
CampaignService.  I've posted the sanitized XML request below, can anyone 
let me know how to resolve?  Thanks in advance!

Request:

http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:tns="https://adwords.google.com/api/adwords/rm/v201306"; 
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"; 
xmlns:cm="https://adwords.google.com/api/adwords/cm/v201306";>
   
  
 ***
 ***
 ***
 ***
  
   
   
  https://adwords.google.com/api/adwords/rm/v201306";>
 
ADD

   false
   TEST API
   TEST DESCRIPTION
   OPEN
   OWNED
   ACTIVE
   90
   
   
   
  
  
  BOOMERANG_EVENT
   

 
  
   


Response:

http://schemas.xmlsoap.org/soap/envelope/";>
   
  https://adwords.google.com/api/adwords/rm/v201306"; 
xmlns="https://adwords.google.com/api/adwords/cm/v201306";>
 0004e1dcf204a8e80a3a91260d32
 AdwordsUserListService
 mutate
 0
 32
  
   
   
  
 soap:Server
 [AuthenticationError.LOGIN_COOKIE_REQUIRED @ ; 
trigger:'']
 
https://adwords.google.com/api/adwords/rm/v201306"; 
xmlns="https://adwords.google.com/api/adwords/cm/v201306";>
   [AuthenticationError.LOGIN_COOKIE_REQUIRED @ ; 
trigger:'']
  
 ApiException
   http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="AuthenticationError">
  
  
  
AuthenticationError.LOGIN_COOKIE_REQUIRED
  AuthenticationError
  LOGIN_COOKIE_REQUIRED
   

 
  
   


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

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

--- 
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/groups/opt_out.




ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector

2013-07-22 Thread DEEPAK KUMAR
Hello All 

I am trying to download Report Using Google adwords api.
When I Run to the below given code it gives me error 
"ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector" 
Please Help me.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;
using System.Net;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
public bool DownloadReportDefinition(string reportDefinitionXml, string 
authToken, string clientCustomerId, string developerToken, string filePath, 
bool downloadInMicros)
{
Uri downloadUrl = new 
Uri("https://adwords.google.com/api/adwords/reportdownload/v201306";);

WebRequest request = HttpWebRequest.Create(downloadUrl);
request.Headers.Add("clientCustomerId: " + clientCustomerId);
request.Headers.Add("developerToken: " + developerToken);
request.Headers.Add("Authorization: GoogleLogin auth=" + authToken);
request.Headers.Add("returnMoneyInMicros: " + 
downloadInMicros.ToString().ToLower());

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using (StreamWriter writer = new 
StreamWriter(request.GetRequestStream()))
{
writer.Write("__rdxml=" + 
HttpUtility.UrlEncode(reportDefinitionXml));
}

WebResponse response = null;
bool success = false;
try
{
response = request.GetResponse();   
success = true;
}
catch (WebException ex)
{
// The server will return an error code other than 200 if 
something goes wrong. The actual reason for
// failure can be found by reading the response.
response = ex.Response;

}
 DownloadReportToFile(filePath, response);
 return success;
}

private static void DownloadReportToFile(string filePath, WebResponse 
response)
{
FileStream outputStream = File.Create(filePath);
using (Stream responseStream = response.GetResponseStream())
{
CopyStream(responseStream, outputStream);
}
outputStream.Close();
}

private static void CopyStream(Stream sourceStream, Stream targetStream)
{
int bufferSize = 2 << 20;
byte[] buffer = new byte[bufferSize];

int bytesRead = 0;
while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
{
targetStream.Write(buffer, 0, bytesRead);
}
}
protected void btnDownloadRepot_Click(object sender, EventArgs e)
{
//
string reportDefination = "";
reportDefination = "";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "Id";
reportDefination = reportDefination + "Date";
reportDefination = reportDefination + "AdGroupId";
reportDefination = reportDefination + 
"Impressions";
reportDefination = reportDefination + "Clicks";
reportDefination = reportDefination + "Cost";
reportDefination = reportDefination + 
"Conversions";
reportDefination = reportDefination + 
"ConversionValue";
reportDefination = reportDefination + 
"AveragePosition";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "20130701";
reportDefination = reportDefination + "20130718";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "AD PERFORMANCE 
REPORT";
reportDefination = reportDefination + 
"AD_PERFORMANCE_REPORT";
reportDefination = reportDefination + 
"CUSTOM_DATE";
reportDefination = reportDefination + 
"XML";
reportDefination = reportDefination + "";
string authetoken = "";
authetoken = "xyz";

DownloadReportDefinition(reportDefination, authetoken, "123", 
"abc", "C:\\Users\\deepak.singh\\Documents", true);

}
}


Thanks & Warm Regards
Deepak Singh

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

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

--- 
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 
t

Re: Default Max. CPC for adgroup

2013-07-22 Thread Paul Matthews (AdWords API Team)
Hi Roberto,

The content from this topic is no longer relevant to all current versions 
of the API, as it was last posted to in 2011.

For general information about bidding, please see the bidding 
guidein our 
docs. The previously named MaxCpc is now exposed as 
CpcBid.bidin
 the latest version of the API.

For example code on setting the bidding strategy, each library ships with 
an add ad group example, which contains the relevant code. Here is a link 
to the java AddAdGroups.java 
example
.

Regards,

- Paul, AdWords API Team.

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

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

--- 
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/groups/opt_out.




AdGroupCriterionService Bug? - EntityNotFound.INVALID_ID for CriterionId that exists

2013-07-22 Thread Akil Burgess
Hi All,

We're seeing a reproducable issue where we receive an 
EntityNotFound.INVALID_ID (trigger - CriterionId) error for a mutate 
operation on AdGroupCriterion using a valid AdGroupId and CriterionId 
("Id"). The AdGroupCriterionService get call returns the AdGroupCriterion 
object with the same Ids that are being said to be invalid. 

I have attached the soap logs for the mutate operation and the get 
operation below. Is this a bug in the AdGroupCriterionService or is there 
something wrong with our AdGroupCriterionOperation?

Thanks!
Akil Burgess


-BEGIN API CALL-

Request (Mutate)
---


http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>https://adwords.google.com/api/adwords/cm/v201306";>https://adwords.google.com/api/adwords/cm/v201306";>**https://adwords.google.com/api/adwords/cm/v201306";>**https://adwords.google.com/api/adwords/cm/v201306";>9765518125https://adwords.google.com/api/adwords/cm/v201306";> 
(AwApi-DotNet/16.1.0, Common-Dotnet/1.8.0, .NET CLR/4.0.30319.18051, 
gzip)https://adwords.google.com/api/adwords/cm/v201306";>SET37902021043752398530480

Response (Mutate)



http://schemas.xmlsoap.org/soap/envelope/";>https://adwords.google.com/api/adwords/cm/v201306";>0004e2179870ad280ae50e884419AdGroupCriterionServicemutate0478soap:Server[EntityNotFound.INVALID_ID
 
@ operations[0].operand.criterion.id; 
trigger:'CriterionId{id=37523985304}']https://adwords.google.com/api/adwords/cm/v201306";>[EntityNotFound.INVALID_ID
 
@ operations[0].operand.criterion.id; 
trigger:'CriterionId{id=37523985304}']ApiExceptionhttp://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="EntityNotFound">operations[0].operand.criterion.idCriterionId{id=37523985304}EntityNotFound.INVALID_IDEntityNotFoundINVALID_ID
-END API CALL---

-BEGIN API CALL-

Request (Get)
---


http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>https://adwords.google.com/api/adwords/cm/v201306";>https://adwords.google.com/api/adwords/cm/v201306";>**https://adwords.google.com/api/adwords/cm/v201306";>**https://adwords.google.com/api/adwords/cm/v201306";>9765518125https://adwords.google.com/api/adwords/cm/v201306";> 
(AwApi-DotNet/16.1.0, Common-Dotnet/1.8.0, .NET CLR/4.0.30319.18051, 
gzip)https://adwords.google.com/api/adwords/cm/v201306";>AdGroupIdCriterionUseStatusSystemServingStatusApprovalStatusDisapprovalReasonsDestinationUrlFirstPageCpcIsKeywordAdRelevanceAcceptableIsLandingPageQualityAcceptableIsLandingPageLatencyAcceptableQualityScoreBiddingStrategyTypeCpcBidCpcBidSourceCpmBidCpmBidSourcePercentCpaBidPercentCpaBidSourceIdCriteriaTypeAgeRangeTypeUserInterestIdUserInterestNameUserListIdUserListMembershipStatusGenderTypeKeywordTextKeywordMatchTypeMobileAppCategoryIdDisplayNamePlacementUrlTextVerticalIdVerticalParentIdPathAdGroupIdEQUALS3790202104IdEQUALS3752398530401

Response (Get)



http://schemas.xmlsoap.org/soap/envelope/";>https://adwords.google.com/api/adwords/cm/v201306";>0004e2179c2f6e900ae503c65ebdAdGroupCriterionServiceget0415https://adwords.google.com/api/adwords/cm/v201306";>1AdGroupCriterionPagehttp://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="BiddableAdGroupCriterion">3790202104BIDDABLE37523985304KEYWORDKeywordcheap
 
David Haye Dereck Chisora 
ticketsBROADBiddableAdGroupCriterionDELETEDSEARCHStatsMANUAL_CPC
-END API CALL---

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

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

--- 
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/groups/opt_out.




"appendRow" of null

2013-07-22 Thread Ramarosoa Faneva
Hi All,

I was using the codes of Russ for the QS account, i wanted to include the 
variation of cpc too but the codes gives me an apprendRow error. This is my 
code :

//---
// Store Account Level Quality Score in Google Spreadsheet.
// Created By: Russ Savage
// Based on script originally found at: 
http://searchengineland.com/how-account-quality-score-can-guide-adwords-optimization-148595
// FreeAdWordsScripts.com
//---
function main() {
  var SPREADSHEET_URL = 
"https://docs.google.com/spreadsheet/ccc?key=0AuBDBGZ7z9xYdDEzMDNxOU5MZVltZ2FTMzladHAtN0E#gid=0";;
  var ACCOUNT_NAME = 'Account1';
  var today = new Date();
  var date_str = [today.getFullYear(),(today.getMonth() + 
1),today.getDate()].join("-");
   
  var spreadsheet = getSpreadsheet(SPREADSHEET_URL);
  var qs_sheet = spreadsheet.getSheetByName(ACCOUNT_NAME);
   
  var kw_iter = AdWordsApp.keywords()
.withCondition("Status = ENABLED")
.forDateRange("LAST_30_DAYS")
.withCondition("Impressions > 0")
.orderBy("Impressions DESC")
.withLimit(5)
.get();
 
  var tot_imps_weighted_qs = 0;
  var tot_imps = 0;
  var tot_cout = 0;
  var tot_clics = 0;
   
  while(kw_iter.hasNext()) {
var kw = kw_iter.next();
var kw_stats = kw.getStatsFor("LAST_30_DAYS");
var imps = kw_stats.getImpressions();
var cout = kw_stats.getCost ();
var clics = kw_stats.getClicks ();
var qs = kw.getQualityScore();
tot_imps_weighted_qs += (qs * imps);
tot_imps += imps;
tot_cout += cout;
tot_clics += clics;
  }
 
  var acct_qs = tot_imps_weighted_qs / tot_imps;
  var couts = tot_cout;
  var clicks = tot_clics;
 
  qs_sheet.appendRow([date_str,acct_qs,couts,clicks]);
   
  function getSpreadsheet(spreadsheetUrl) {
var matches = new RegExp('key=([^&#]*)').exec(spreadsheetUrl);
if (!matches || !matches[1]) {
  throw 'Invalid spreadsheet URL: ' + spreadsheetUrl;
}
var spreadsheetId = matches[1];
return SpreadsheetApp.openById(spreadsheetId);
  }
}

Someone can help me ?

Thanks you !




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

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

--- 
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/groups/opt_out.




[Python] ReportDownloader seems to be not working

2013-07-22 Thread Michael Samoylov
Hi.

I can't use download reports with the Python client. I'm using with 
adwords-15.9.0 with v201306. It always faild with: 

headers['Authorization'] = 'Bearer ' + self.access_token
TypeError: cannot concatenate 'str' and 'NoneType' objects

Example scripts 
get_report_fields.py
 and 
get_campaign_stats.py
 work 
fine but 
download_criteria_report.py
 and 
download_criteria_report_with_awql.py
 fail 
with the same error.

Any ideas?

Thanks,
Mike

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

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

--- 
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/groups/opt_out.




Discrepancies between ad-hoc perf rpts - campaigns

2013-07-22 Thread William Yeager
I'm working with bringing in AW ad-hoc reports into our DB for more 
reporting.  The issue i'm seeing is that not all the campaigns are being 
listed in each report.  I am running it with Impressions >0 and not 
selecting any segments.
For example:  ad_performance_report will give me ~700 distinct campaigns. 
 keywords_performance_report will give me ~ 500 distinct campaigns. 
autoplacements_performance_rpt will give me ~ 200 campaigns.
What am I missing here?  Trying to understand the discrepancies.

Thanks

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

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

--- 
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/groups/opt_out.




v201306 problem retrieving rule-based remarketing lists with AdwordsUserListService

2013-07-22 Thread scordeiro
I'm switching from v201209 to v201306 and I'm noticing some strange 
behavior.  With this update i've had to move from the UserListService to 
the AdwordsUserListService for UserList management but they seem to be 
giving different results.  When I used to try and pull all user lists for a 
given account with the UserListService i'd get both rule-based and 
tag-based lists, but now with the AdwordsUserListService i'm only getting 
the tag-based lists back. Is this expected? Is there any way to get the 
rule-based lists? Thanks.

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

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

--- 
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/groups/opt_out.




Re: ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH with FieldPath Selector for multi clients

2013-07-22 Thread DEEPAK KUMAR
Hello Anash

I am trying to download report from google adwords using API.
But it gives me error 
"ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCHselector"
 I am new to google adwords API
Please Help Me.
For download Report I am using Below code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;
using System.Net;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{

}
public bool DownloadReportDefinition(string reportDefinitionXml, string 
authToken, string clientCustomerId, string developerToken, string filePath, 
bool downloadInMicros)
{
Uri downloadUrl = new 
Uri("https://adwords.google.com/api/adwords/reportdownload/v201306";);

WebRequest request = HttpWebRequest.Create(downloadUrl);
request.Headers.Add("clientCustomerId: " + clientCustomerId);
request.Headers.Add("developerToken: " + developerToken);
request.Headers.Add("Authorization: GoogleLogin auth=" + authToken);
request.Headers.Add("returnMoneyInMicros: " + 
downloadInMicros.ToString().ToLower());

request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using (StreamWriter writer = new 
StreamWriter(request.GetRequestStream()))
{
writer.Write("__rdxml=" + 
HttpUtility.UrlEncode(reportDefinitionXml));
}

WebResponse response = null;
bool success = false;
try
{
response = request.GetResponse();   
success = true;
}
catch (WebException ex)
{
// The server will return an error code other than 200 if 
something goes wrong. The actual reason for
// failure can be found by reading the response.
response = ex.Response;

}
 DownloadReportToFile(filePath, response);
 return success;
}

private static void DownloadReportToFile(string filePath, WebResponse 
response)
{
FileStream outputStream = File.Create(filePath);
using (Stream responseStream = response.GetResponseStream())
{
CopyStream(responseStream, outputStream);
}
outputStream.Close();
}

private static void CopyStream(Stream sourceStream, Stream targetStream)
{
int bufferSize = 2 << 20;
byte[] buffer = new byte[bufferSize];

int bytesRead = 0;
while ((bytesRead = sourceStream.Read(buffer, 0, bufferSize)) != 0)
{
targetStream.Write(buffer, 0, bytesRead);
}
}
protected void btnDownloadRepot_Click(object sender, EventArgs e)
{
//
string reportDefination = "";
reportDefination = "";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "Id";
reportDefination = reportDefination + "Date";
reportDefination = reportDefination + "AdGroupId";
reportDefination = reportDefination + 
"Impressions";
reportDefination = reportDefination + "Clicks";
reportDefination = reportDefination + "Cost";
reportDefination = reportDefination + 
"Conversions";
reportDefination = reportDefination + 
"ConversionValue";
reportDefination = reportDefination + 
"AveragePosition";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "20130701";
reportDefination = reportDefination + "20130718";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "";
reportDefination = reportDefination + "AD PERFORMANCE 
REPORT";
reportDefination = reportDefination + 
"AD_PERFORMANCE_REPORT";
reportDefination = reportDefination + 
"CUSTOM_DATE";
reportDefination = reportDefination + 
"XML";
reportDefination = reportDefination + "";
string authetoken = "";
authetoken = "xyz";

DownloadReportDefinition(reportDefination, authetoken, "123", 
"abc", "C:\\Users\\deepak.singh\\Documents", true);

}
}

Thanks & Warm Regards
Deepak Singh

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

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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and

v201306 retrieving rule-based remarketing lists

2013-07-22 Thread scordeiro
I'm updating from v201209 to v201306 which requires me to move from the 
UserListService to the AdwordsUserListService for user list management and 
I've noticed something strange. Previously when I made a call to retrieve 
all userlists from a given account I would get both rule-based and 
tag-based lists. However now I only get the tag-based lists.  Is this the 
expected behavior with this new service or am I just missing something?  Is 
there any way to retrieve those rule-based lists now?  Thanks.

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

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

--- 
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/groups/opt_out.




How can I see my token review progress?

2013-07-22 Thread yogis
Hi,
I changed my product's spec and submitted it via "AdWords API Tool Change 
Form", but I had no reply for 2 weeks.
So, I emailed to adwordsapi-tok...@google.com.

They replied that check my Developer Contact email address and resubmit the 
token application, so I followed it, but I haven't received any reply in 2 
business days.

Is there any way to see the progress of review?
Or every applicant can't know the progress until their token would approved 
or disapproved?
I don't even know that my token application successfully submitted or not.

Regards,
Yogis
MCCID: 868-027-2051

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

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

--- 
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/groups/opt_out.




Performance data by language

2013-07-22 Thread techpoint . 2015
Hi,

Is it possible to get performance data by language via API?

I have checked several available report types but not able to find this.

Thanks,

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

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

--- 
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/groups/opt_out.




Re: Oauth2 jwt ruby issue

2013-07-22 Thread Danial Klimkin
I am closing this thread as it is an old one, unrelated to this question 
(it was about jwt) and the same question is discussed on several other 
threads.


-Danial, AdWords API Team.


On Saturday, July 20, 2013 2:30:47 AM UTC+4, Matthew Ledom wrote:
>
> Did you ever answer the question about using the refresh token in:
>
> token = { :refresh_token => '' }
> api.authorize({:oauth2_token => token})
>
> The sample app does not show how to use that. I have setup the sample app 
> and it works great. In my application I can't have the user logging in all 
> the time and I'm trying to store the refresh token, access token and even 
> the code from the browser redirect auth. I can't figure out how to use the 
> different tokens to authenicate without getting OAUTH_TOKEN_INVALID
>
> On Tuesday, March 26, 2013 3:28:11 AM UTC-4, Danial Klimkin wrote:
>>
>> Hello hagay,
>>
>>
>> Yes, JWT is supported in the Ruby library. See this example:
>>
>>   
>> https://code.google.com/p/google-api-ads-ruby/source/browse/adwords_api/examples/v201302/misc/use_oauth2_jwt.rb
>>
>> Most likely you only need to alter your configuration file to include:
>>
>> :authentication:
>>   :method: OAUTH2_JWT
>>   :oauth2_issuer: 'your issuer'
>>   :oauth2_secret: 'your secret'
>>   :oauth2_keyfile: '/path/to/the/keyfile'
>>   :oauth2_prn: 'account to impersonate'
>>
>>
>> -Danial, AdWords API Team.
>>
>>
>> On Wednesday, March 20, 2013 7:10:04 PM UTC+4, hagay wrote:
>>>
>>> Hi Daniel,
>>>
>>> In my company we have our own domain. and we prefer to gain oauth2 
>>> without user interaction as the nature of our application is server side 
>>> only.
>>> Is the Oauth2 jwt  working for ruby users? if not is there a chance to 
>>> use another library (say python) in order to use the oauth2-jwt
>>> What do i need to prepare in order to use oauth2-jwt.
>>>
>>> Your help are most appreciated.
>>>
>>> hagay.
>>>
>>> On Monday, February 18, 2013 1:16:35 PM UTC+2, Danial Klimkin wrote:

 Hello,


 I am sorry we can not provide support on domain administration. Please 
 consider using non-JWT flow (which is a better approach in most cases) as 
 I 
 outlined in this thread.


 -Danial, AdWords API Team.


 On Thursday, February 14, 2013 7:06:28 PM UTC+4, 
 jmcu...@restorando.comwrote:
>
> Hi Danial, I'm having the same problem here.
>
> I'm using OAuth2_Jwt with this config:
>
>   :oauth2_issuer: xx...@developer.gserviceaccount.com' 
>   :oauth2_secret: 'notasecret'
>   :oauth2_keyfile: '/path/to/privatekey.p12'
>   :oauth2_prn: '' 
>
>   # Other parameters.
>   :developer_token: 'xx'
>   :client_customer_id: ''
>
> and I get this message:
>
> Signet::AuthorizationError: Authorization failed.  Server message:
> {
>   "error" : "access_denied"
> }
>
> I manage my own domain but I cannot find how to grant the application 
> to impersonate users for AdWords without using the Business Edition. 
> Could 
> you please tell me how could I do that?
>
>
>
> On Thursday, February 14, 2013 10:26:32 AM UTC-3, hagay wrote:
>>
>>
>> Hi Daniel, 
>> Ok. In that case i guess I should use the the Oauth2 .
>>
>> The issue is that I need to access the adsowrds api (using oauth2) 
>> *without 
>> user interaction*. Do i still need  the 'Service account' or 
>> 'Installed Application' ?
>> If I need to use the 'Installed Application' how can i fetch the 
>> verification_code every time i restart my server ?
>>
>>
>> Thanks for your help.
>> hagay.
>>
>>
>> On Thursday, February 14, 2013 12:40:29 PM UTC+2, Danial Klimkin 
>> wrote:
>>>
>>> Hello hagay,
>>>
>>>
>>> You should only use OAUTH2_JWT if you are administering your own 
>>> domain. If you access 3rd party accounts, you should use plain OAUTH2.
>>>
>>> In case you do manage the domain, you need to grant the application 
>>> to impersonate users for AdWords, please check with your domain 
>>> administrator on have to do this.
>>>
>>> See also:
>>>
>>>   https://developers.google.com/accounts/docs/OAuth2ServiceAccount
>>>
>>>
>>> -Danial, AdWords API Team.
>>>
>>>
>>> On Wednesday, February 13, 2013 6:55:14 PM UTC+4, hagay wrote:

 Hi,

 I am writing server side application that using adwords_api, witch 
 mean i should use OAUTH2_JWT, right?

 To create the client id i used the api console with the option of 
  'service_account'. 

 to the config file i am using:
   :authentication => {
 :method: OAUTH2_JWT
 :oauth2_issuer: < the email address i got  within the creation 
 of the this client id >
 :oauth2_secret: *notasecret* #Is it correct

Re: Sandbox, OAuth 2.0

2013-07-22 Thread Danial Klimkin
Hello Matthew,


Yes, test accounts are the same account as production ones, except they 
don't serve. So OAuth2 can be used with them.


-Danial, AdWords API Team.


On Saturday, July 20, 2013 12:51:31 AM UTC+4, Matthew Ledom wrote:
>
> Can test accounts be used with OAuth2?
>
> On Wednesday, June 5, 2013 4:41:15 AM UTC-4, Danial Klimkin wrote:
>>
>> Hello,
>>
>>
>> The sandbox was replaced with Test Accounts. See:
>>
>>   https://developers.google.com/adwords/api/docs/test-accounts
>>
>>
>> -Danial, AdWords API Team.
>>
>> On Monday, June 3, 2013 4:18:59 PM UTC+4, rocs...@gmail.com wrote:
>>>
>>> For getting access_token i am using client library: 
>>> aw_api_php_lib_4.2.2_src/examples/v201302/Misc/UseOAuth2.php
>>> In result:
>>> *Log in to your AdWords account and open the following URL: 
>>> https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=INSERT_OAUTH2_CLIENT_ID_HERE&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fsandbox-adwords.google.com%2Fapi%2Fadwords%2F&access_type=offline
>>> *
>>> *After approving the token enter the authorization code here: *
>>>
>>> But when i try to visit link: 
>>> https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=826719210143-rb159ue7ck9kinf3i1ge250vipt92dgj.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fsandbox-adwords.google.com%2Fapi%2Fadwords%2F&access_type=offline
>>>
>>> I have an error: 
>>>
>>> invalid_scope
>>>
>>> Some requested scopes were invalid. {invalid=[
>>> https://sandbox-adwords.google.com/api/adwords/]}
>>>
>>

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

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

--- 
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/groups/opt_out.




Re: Icomplete signup error despite accepting terms and conditions

2013-07-22 Thread jaison . directi
Hi Danial,

I created a new account and entered the billing details at the MCC level. I 
then applied for a test account. I am now able to run the scripts 
successfully.

Thanks for all the help.

Jaison

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

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

--- 
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/groups/opt_out.




Re: Test account api-not working-Quotacheckerror[incomplete_signup]

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Please try it again after you receive an approved email for a test account. 

Best,
- Takeshi, AdWords API Team

On Thursday, July 18, 2013 8:23:11 PM UTC+9, tomfl...@gmail.com wrote:
>
> Hi,
>  
> I have followed the instructions and registered for a test account from my 
> existing MCC account, I have filled out the billing T & C's correctly, I am 
> seeing the following error:
>  
> Quotacheckerror[Incomplete_signup]
>  
> Now, I have ticked all the T & C's etc, so think it relate to the test 
> account access, I have yet to receive an approval email still-please advise 
> on any guidance.
>  
> Many Thanks,
>  
> Tom.
>

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

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

--- 
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/groups/opt_out.




Re: Problems with starting of API

2013-07-22 Thread Takeshi Hagikura (AdWords API Team)
Hi, 

Please provide the  "account Customer ID" for ClientCustomerId in the 
Web.config file. 
It means your request targets the clientCustomerId specified in that file. 

There is no setting named "MCCID" or "Customer ID"

Best,
- Takeshi, AdWords API Team

On Thursday, July 18, 2013 3:12:45 PM UTC+9, da...@woodenark.com wrote:
>
> Hi,
> I got the following mail from developer team. I downloaded the 
> applicationo of .NET, but there is no MCCID, no Customer ID. Is there a 
> possibility of getting a correct Web.config file?
> David
>
>
> Dear Developer,
>
> We have received your application for a test account for the Adwords API. 
>  After review, we have now enabled the following AdWords Customer IDs for 
> testing with the API:
>
> Your developer MCCID:*
> Your new test account Customer ID: **
>
> If you have any questions regarding the usage of your Adwords API test 
> accounts, please visit our developers help page at:
> https://developers.google.com/adwords/api/docs/test-accounts
>
> Regards,
> The Adwords API Team
>

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

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

--- 
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/groups/opt_out.