2016-09-01 100 views
0

我遇到了adwords API的問題,並想知道如果你能幫助我。試圖獲取報告,但總是得到「ReportDownloadError.MISSING_PARAMETER」「缺少報告定義」

我打電話給adwords api http:// adwords.google.com/api/adwords/reportdownload/v201603。

這api工作到昨天,但今天停止工作。

我閱讀了參考頁面並試圖弄清楚,但到目前爲止,我們只得到'api錯誤'的迴應。

這裏是這些網頁的鏈接。

https://開頭developers.google.com/adwords/api/docs/guides/reporting?hl=en

https://開頭adwords.google.com/api/adwords/reportdownload/v201603/reportDefinition的.xsd

下面是我們寫的,

API_VERSION='v201603' 
REQUEST='__rdxml=<reportDefinition xmlns="https://adwords.google.com/api/adwords/cm/'${API_VERSION}'"> 
    <selector> 
     <fields>Ctr</fields> 
     <fields>Date</fields> 
    </selector> 
    <reportName>ACCOUNT_PERFORMANCE_REPORT</reportName> 
    <reportType>ACCOUNT_PERFORMANCE_REPORT</reportType> 
    <dateRangeType>LAST_MONTH</dateRangeType> 
    <downloadFormat>XML</downloadFormat> 
</reportDefinition>' 

SIZE=${#REQUEST} 

echo ${REQUEST} | \ 
curl -X POST \ 
    -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \ 
    -H 'Authorization: Bearer '${REFREASH_TOKEN} \ 
    -H 'developerToken: '${DEVELOPER_TOKEN} \ 
    -H 'clientCustomerId: '${ACCOUNT_ID} \ 
    -H 'skipReportHeader: False' \ 
    -H 'skipColumnHeader: False' \ 
    -H 'skipReportSummary: False' \ 
    -H 'includeZeroImpressions: False' \ 
    -H 'Host: adwords.google.com' \ 
    -H 'Content-Length: '${SIZE} \ 
    -H 'Expect: 100-continue' \ 
    -H 'Connection: Keep-Alive' \ 
    --data-urlencode @- \ 
    --verbose \ 
    https://adwords.google.com/api/adwords/reportdownload/${API_VERSION} 

和執行的代碼後,我得到了下面的響應

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<reportDownloadError> 
    <ApiError> 
    <type>ReportDownloadError.MISSING_PARAMETER</type> 
    <trigger>Missing report definition</trigger> 
    <fieldPath/> 
    </ApiError> 
</reportDownloadError> 

我希望你能告訴我們如何調用報告下載API。

在此先感謝,

回答

0

我嘗試了用於python的AdWords API客戶端庫。 https://github.com/googleads/googleads-python-lib/blob/master/README.md#getting-started

所以,我得到錯誤的錯誤。

Traceback (most recent call last): 
    File "examples/adwords/v201607/reporting/download_criteria_report.py", line 61, in <module> 
    main(adwords_client) 
    File "examples/adwords/v201607/reporting/download_criteria_report.py", line 56, in main 
    skip_report_summary=False) 
    File "/Users/my/.pyenv/versions/anaconda3-2.3.0/lib/python3.4/site-packages/googleads/adwords.py", line 1169, in DownloadReport 
    output, **kwargs) 
    File "/Users/my/.pyenv/versions/anaconda3-2.3.0/lib/python3.4/site-packages/googleads/adwords.py", line 1439, in _DownloadReport 
    response = self._DownloadReportAsStream(post_body, **kwargs) 
    File "/Users/my/.pyenv/versions/anaconda3-2.3.0/lib/python3.4/site-packages/googleads/adwords.py", line 1492, in _DownloadReportAsStream 
    raise self._ExtractError(e) 
googleads.errors.AdWordsReportBadRequestError: Type: AuthorizationError.USER_PERMISSION_DENIED 
Trigger: <null> 
Field Path: None 

此問題的原因是爲已刪除的用戶創建刷新令牌。

註冊表oauth帳戶。創建刷新令牌。這個問題解決了。

我感謝您閱讀。 現在,我想你已經習慣了我有趣的英文寫作。