首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们如何下载亚马逊广告Api报告?

我们如何下载亚马逊广告Api报告?
EN

Stack Overflow用户
提问于 2019-02-13 08:12:43
回答 1查看 2.6K关注 0票数 2

我正在开发一个沙箱环境,并试图基于https://advertising.amazon.com/API/docs/v2/reference/reports下载报告,问题是下载的报告是空的。里面不包含任何数据。我们如何从亚马逊广告api下载报告?

我按照描述的步骤执行以下步骤:https://gist.github.com/dbrent-amazon/ca396a63c1670ee0ec83aad26b0ce55b

EN

回答 1

Stack Overflow用户

发布于 2020-10-25 19:33:54

下面是一个为我使用python和请求的脚本,请确保:

  1. 创建一个活动、adGroupd和关键字
  2. 用正确的指标创建报告
  3. 确保要在报表中查看实际数据。
  4. 确保reportDate是正确的
代码语言:javascript
复制
import requests

version = 'v2'
advertise = 'sp'

headers = {
    "Authorization": f"Bearer {token.access}",
    "Amazon-Advertising-API-ClientId": AmazonSecurityProfile.ClientID,
    "Content-Type": "application/json",
}

class urls:
    class api:
        test = 'https://advertising-api-test.amazon.com'

# create report
recordType = "keywords"
r = requests.post(
    f'{urls.api.test}/{version}/{advertise}/{recordType}/report',
    json={
      # "campaignType": "sponsoredProducts",
      "segment": "query",
      "reportDate": '20201025',  #YYYYMMDD
      "metrics": ",".join([
          "campaignName",
          "campaignId",
          "campaignStatus",
          "campaignBudget",
          "clicks",
          "cost",
          "attributedConversions1d",
          "attributedConversions7d",
          "attributedConversions1dSameSKU",
          "attributedConversions7dSameSKU",
          "attributedUnitsOrdered1d",
          "attributedUnitsOrdered7d",
          "attributedSales1d",
          "attributedSales7d",
          "attributedSales1dSameSKU",
          "attributedSales7dSameSKU",
          "attributedUnitsOrdered1dSameSKU",
          "attributedUnitsOrdered7dSameSKU",
          "adGroupName",
          "adGroupId",
          "keywordText",
          "keywordId",
          "matchType",
          "impressions",
      ]),
    },
    headers=headers,
)
r.raise_for_status()
r = r.json()
print(r)
reportId = r["reportId"]

while r['status'] == 'IN_PROGRESS':
    r = requests.get(
        f'{urls.api.test}/{version}/reports/{reportId}',
        headers=headers,
    )
    r = r.json()
    print(r)

assert r['status'] == 'SUCCESS'

r = requests.get(
    r["location"],
    headers=headers,
)
print(r)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54665341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档