2016-07-27 6 views
0

Google Adwords Reporting HTTP POSTリクエストを使用して、複数のキャンペーン/広告グループに存在する可能性のあるキーワードのリストの統計情報を取得しようとしています。これは私がhttps://developers.google.com/adwords/api/docs/guides/reporting#prepare-the-http-post-requestを参照していたAPIドキュメントです。GoogleアドワーズレポートHTTP POSTリクエストで400のレスポンスコードが返される

以下は、400エラーコードを返すスカラコードです。私は間違って何をしていますか?または、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) 

答えて

0

あなたのレポート定義は、どちらかあなたのコード-in application/x-www-form-urlencodedmultipart/form-dataとしてあなたがParametersというヘッダーとして追加されているエンコードPOST要求の体内に行く必要があります。

関連する問題