Как мы загружаем отчеты Amazon Advertising Api?

Я работаю в среде песочницы и пытаюсь загрузить отчет на основе https://advertising.amazon.com/API/docs/v2/reference/reports. Проблема в том, что загруженный отчет пуст. Не содержит никаких данных внутри. Как мы загружаем отчет из amazon Advertising API?

Я выполняю следующие шаги, как описано: https://gist.github.com/dbrent-amazon/ca396a63c1670ee0ec83aad26b0ce55b

пожалуйста, включите свой код

QHarr 13.02.2019 09:28

@QHarr я включил ссылку с точными шагами, которым я следую.

cc89 13.02.2019 09:41
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
2
1 899
1

Ответы 1

вот скрипт, который работает для меня, используя python и запросы, обязательно:

  1. создать кампанию, группу объявлений и ключевые слова
  2. создавать отчеты с правильными показателями
  3. убедитесь, что у вас есть актуальные данные для просмотра в отчете
  4. убедитесь, что reportDate указан правильно
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)

Другие вопросы по теме