【问题标题】:Google Adwords Reporting HTTP POST request returns 400 response codeGoogle Adwords 报告 HTTP POST 请求返回 400 响应代码
【发布时间】:2016-08-02 15:50:42
【问题描述】:

我正在尝试使用 Google Adwords 报告 HTTP POST 请求来检索可能存在于多个广告系列/广告组下的关键字列表的统计信息。这是我提到的 API 文档https://developers.google.com/adwords/api/docs/guides/reporting#prepare-the-http-post-request

下面是返回 400 错误代码的 scala 代码。我究竟做错了什么 ?或者是否有其他方法可以从KEYWORDS_PERFORMANCE_REPORT 报告类型中检索数据?

      val httpClient = new DefaultHttpClient()
      val postRequest=new HttpPost("https://adwords.google.com/api/adwords/reportdownload/v201605")
      postRequest.addHeader("Host","adwords.google.com")
      postRequest.addHeader("User-Agent", "curl, gzip")
      postRequest.addHeader("Accept","*/*")
      postRequest.addHeader("Expect","100-continue")
      postRequest.addHeader("Accept-Encoding","gzip")
      postRequest.addHeader("Content-Type","multipart/form-data; boundary=------------------------12d01fae60c7b559; charset=utf-8")
      postRequest.addHeader("Authorization","Bearer 1/*************************************")
      postRequest.addHeader("developerToken","/*************************************")")
      postRequest.addHeader("clientCustomerId","/*************************************")")
      postRequest.addHeader("Parameters","__rdxml: <?xml version=\"1.0\" " +
        "encoding=\"UTF-8\"?>" +
        "<reportDefinition>" +
        "  <selector>" +
        "    <fields>CampaignId</fields>" +
        "    <fields>AdGroupId</fields>" +
        "    <fields>Id</fields>" +
        "    <fields>Criteria</fields>" +
        "    <fields>CriteriaType</fields>" +
        "    <fields>Impressions</fields>" +
        "    <fields>Clicks</fields>" +
        "    <fields>Cost</fields>" +
        "    <predicates>" +
        "      <field>Status</field>" +
        "      <operator>NOT_IN</operator>" +
        "      <values>PAUSED</values>" +
        "    </predicates>" +
        "  </selector>" +
        "  <reportName>Criteria performance report #56bd904878715</reportName>" +
        "  <reportType>CRITERIA_PERFORMANCE_REPORT</reportType>" +
        "  <dateRangeType>LAST_7_DAYS</dateRangeType>" +
        "  <downloadFormat>CSV</downloadFormat>" +
        "</reportDefinition>")
      val httpResponse=httpClient.execute(postRequest)
      println(httpResponse.getStatusLine.toString)

【问题讨论】:

    标签: google-ads-api


    【解决方案1】:

    您的报告定义应进入编码为application/x-www-form-urlencodedmultipart/form-dataPOST 请求正文——在您的代码中,您将其添加为名为@9​​87654324@ 的标头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多