Как мне разобрать отчеты в XML-ответе из xml get_report_request_list () в Python MWS? - PullRequest
0 голосов
/ 05 мая 2019

Использование Python 3.6 и библиотеки MWS для извлечения отчета из API Amazon MWS.

Я пытаюсь просмотреть отчеты в объекте list_of_reports и найти отчет, который соответствует тому, который я запросил, "done ".

Библиотека находится здесь: https://github.com/czpython/python-amazon-mws/blob/master/mws/mws.py

Соответствующие строки:

    def get_report_request_list(self, requestids=(), types=(), processingstatuses=(),
                                max_count=None, fromdate=None, todate=None):
        data = dict(Action='GetReportRequestList',
                    MaxCount=max_count,
                    RequestedFromDate=fromdate,
                    RequestedToDate=todate)
        data.update(self.enumerate_param('ReportRequestIdList.Id.', requestids))
        data.update(self.enumerate_param('ReportTypeList.Type.', types))
        data.update(self.enumerate_param('ReportProcessingStatusList.Status.', processingstatuses))
        return self.make_request(data)

Блок-схема Amazon Doc: http://docs.developer.amazonservices.com/en_US/reports/Reports_Overview.html

#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-

import csv
import io
import mws

access_key = 'XXX'
merchant_id = 'XXX'
secret_key = 'XXX'
marketplace_id = '00'
report_id = '_GET_AMAZON_FULFILLED_SHIPMENTS_DATA_'

def get_report(access_key, secret_key, merchant_id, marketplace_id, report_type):
    x = mws.Reports(access_key=access_key, secret_key=secret_key, account_id=merchant_id)    
    x.request_report(report_type)
    reports = x.get_report_request_list()
    for report in reports.GetReportRequestListResponse.GetReportRequestListResult.ReportRequestInfo:
        if report.ReportProcessingStatus == '_DONE_' and report.ReportType == report_type:
    pass

get_report(access_key=access_key, secret_key=secret_key, merchant_id=merchant_id, marketplace_id=marketplace_id, report_type=report_id)

Я получаю сообщение об ошибке «У объекта« DictWrapper »нет атрибута GetReportRequestListResponse» при попытке перебрать ответ get_report_request_list ().

Знаете ли вы, почему и как я могу это исправить?

...