【问题标题】:Get number of monthly searches for specific keywords using Google Adwords API for .NET使用适用于 .NET 的 Google Adwords API 获取特定关键字的每月搜索次数
【发布时间】:2012-03-29 16:16:10
【问题描述】:

我需要帮助如何获取给定关键字的每月搜索次数。

我获得了 Google Adwords API 帐户,并且还加载了资金,因此我可以提出许多请求。但我无法从示例中找到代码,如何获取此信息。

我正在使用 C# .NET,并且已经下载了 Google.AdWords API dll。

你能给我一些简单的例子吗?

【问题讨论】:

    标签: c# keyword google-ads-api


    【解决方案1】:

    可能有一种更优雅的方式来获取关键字,但我发现我需要一份临时报告。我无法让它与 AdWords .Net 客户端库一起使用,但以老式方式构建 HTTP 请求并不是一件繁琐的工作。

    这是我创建请求标头的代码:

    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);
    

    然后,您需要为临时报告附加 XML 规范。这是我的方法:

    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));
        }
    

    最后,你可以解析request.GetResponse()中的值来获取你的数据。

    请参阅http://code.google.com/apis/adwords/docs/appendix/reports.html#search-query 了解报告类型列表(您可能需要 KEYWORDS_PERFORMANCE_REPORT)以及每种类型中允许的字段。

    【讨论】:

    • 你好,我知道这是一个很老的问题,但你能详细说明我如何检索信息吗?如果您在 3 年后还在那里,非常感谢!
    猜你喜欢
    • 2014-06-18
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    相关资源
    最近更新 更多