Hi,

Please see this common error 
page<https://developers.google.com/adwords/api/docs/common-errors?hl=en#ReportDefinitionError.CUSTOMER_SERVING_TYPE_REPORT_MISMATCH>
. 
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 = "<reportDefinition>";
>         reportDefination = reportDefination + "<selector>";
>         reportDefination = reportDefination + "<fields>Id</fields>";
>         reportDefination = reportDefination + "<fields>Date</fields>";
>         reportDefination = reportDefination + "<fields>AdGroupId</fields>";
>         reportDefination = reportDefination + 
> "<fields>Impressions</fields>";
>         reportDefination = reportDefination + "<fields>Clicks</fields>";
>         reportDefination = reportDefination + "<fields>Cost</fields>";
>         reportDefination = reportDefination + 
> "<fields>Conversions</fields>";
>         reportDefination = reportDefination + 
> "<fields>ConversionValue</fields>";
>         reportDefination = reportDefination + 
> "<fields>AveragePosition</fields>";
>         reportDefination = reportDefination + "<dateRange>";
>         reportDefination = reportDefination + "<min>20130701</min>";
>         reportDefination = reportDefination + "<max>20130718</max>";
>         reportDefination = reportDefination + "</dateRange>";
>         reportDefination = reportDefination + "</selector>";
>         reportDefination = reportDefination + "<reportName>AD PERFORMANCE 
> REPORT</reportName>";
>         reportDefination = reportDefination + 
> "<reportType>AD_PERFORMANCE_REPORT</reportType>";
>         reportDefination = reportDefination + 
> "<dateRangeType>CUSTOM_DATE</dateRangeType>";
>         reportDefination = reportDefination + 
> "<downloadFormat>XML</downloadFormat>";
>         reportDefination = reportDefination + "</reportDefinition>";
>         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 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to