问题
I need help how to get number of monthly searches for given keywords.
I got Google Adwords API account and also money is loaded so i can make many requests. But i can't find the code from examples, how to get this info.
I'm using C# .NET, and have downloaded Google.AdWords API dll's.
Can you give me some simple example?
回答1:
There may be a more graceful way to get keywords, but I found that I needed an ad hoc report. I could not get this to work with the AdWords .Net Client Library, but building an HTTP request the old-fashioned way is not a huge chore.
This is my code for creating the request header:
var request = (HttpWebRequest)WebRequest.Create(Properties.Settings.Default.AdHocReportsURL);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Headers.Add("Authorization: GoogleLogin auth=" + _authToken);
request.Headers.Add("clientCustomerId: " + _customerID.ToString("000-000-0000"));
request.Headers.Add("developerToken: " + _developerToken);
You then need to append the XML spec for your ad hoc report. Here's my method:
private void AppendReportSpec(HttpWebRequest request, ReportType reportType, IEnumerable<string> fields, DateTime startDate, DateTime endDate)
{
var reportSpec = new StringBuilder("<reportDefinition><selector>");
foreach (string field in fields)
{
reportSpec.Append("\t\t<fields>");
reportSpec.Append(field);
reportSpec.AppendLine("</fields>");
}
reportSpec.Append
(
@"<dateRange><min>{0}</min><max>{1}</max></dateRange>
</selector>
<reportName>Whatever</reportName>
<reportType>{2}</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>CSV</downloadFormat>
</reportDefinition>"
);
string reportXml = String.Format(reportSpec.ToString(), startDate.ToString("yyyyMMdd"), endDate.ToString("yyyyMMdd"), reportType);
using (var requestContent = new StreamWriter(request.GetRequestStream()))
requestContent.Write("__rdxml=" + HttpUtility.UrlEncode(reportXml));
}
Finally, you can parse the value in request.GetResponse()
to get your data.
See http://code.google.com/apis/adwords/docs/appendix/reports.html#search-query for the list of report types (you'll probably want KEYWORDS_PERFORMANCE_REPORT) and the fields allowed in each.
来源:https://stackoverflow.com/questions/9929309/get-number-of-monthly-searches-for-specific-keywords-using-google-adwords-api-fo