【Python】Amazon マーケットプレイス Webサービス(Amazon MWS) のAPIを使って出品商品レポートが取得できるモジュールを作りました

【Python】Amazon マーケットプレイス Webサービス(Amazon MWS) のAPIを使って出品商品レポートが取得できるモジュールを作りました。

ソースコードは以下の通りです。

使い方は以下の通りです。

# coding: utf-8

# API情報を設定
SellerID           = "SellerId"
AWSAccesKeyId      = "AWSAccessKeyId"
AWSSecretAccessKey = "AWSSecretAccessKey"
Region = "JP"

report = Report(
    AWSAccessKeyId=AWSAccessKeyId,
    AWSSecretAccessKey=AWSSecretAccessKey,
    SellerId=SellerId,
    Region=Region)

# 出品商品レポートの生成をリクエスト
response = report.request_report(ReportType="_GET_MERCHANT_LISTINGS_DATA_")
    
# リクエストIDを取得
request_id = response.find("ReportRequestId").text

try:
    # レポートが完成してレポートIDが取得できるまで監視する
    while True:
        # リクエストIDからレポートの生成状況を取得する
        response = report.get_report_request_list(RequestId=request_id)
    
        # statusが_DONE_がどうか確認。_DONE_だったらレポートIDを取得して終了
        if "_DONE_" == response.find("ReportProcessingStatus").text:
            report_id = response.find("GeneratedReportId").text
            break 
        
        # 頻繁にアクセスすると503エラーなどが返ってくる場合があるので2分間スリープする
        time.sleep(120)

    # 取得したレポートIDをもとにレポートを取得する
    response = report.get_report(ReportId=report_id)
    print(response.raw) 
except Exception as e:
    print(e)

 

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください