簡體   English   中英

Ebay API:失敗,需要UUID

[英]Ebay API: Failure, UUID required

我正在嘗試使用Python中的LMS批量數據交換API獲取客戶的Ebay商店的活動庫存。

import requests
token = "<user-token>"
headers = {"X-EBAY-SOA-OPERATION-NAME":"startDownloadJob", "X-EBAY-SOA-SECURITY-TOKEN":token}
r = requests.get('https://webservices.ebay.com/BulkDataExchangeService', headers = headers)
print r.text

“用戶令牌”是在帳戶設置,生產密鑰下提供的長令牌。

但是我收到以下錯誤:

<?xml version='1.0' encoding='UTF-8'?><startDownloadJobResponse xmlns="http://www.ebay.com/marketplace/services"><ack>Failure</ack><errorMessage><error><errorId>9</errorId><domain>Marketplace</domain><severity>Error</severity><category>Application</category><message>UUID is required</message><subdomain>BulkDataExchange</subdomain></error></errorMessage><version>1.5.0</version><timestamp>2016-01-28T08:52:52.987Z</timestamp></startDownloadJobResponse>

從C#示例復制而來,UUID是唯一的一次性使用值。 在我正在使用的C#批量數據交換示例中,其填充如下:

StartDownloadJobRequest req = new StartDownloadJobRequest();
req.downloadJobType = ReportType;

//Generate a UUID. UUID must be unique.  Once used, you can't use it again
req.UUID = System.Guid.NewGuid().ToString();

這是eBay開發人員網絡上列出的代碼的逐字記錄。

以下內容可能對移植到Python有用。

用Python創建GUID-堆棧溢出線程

url = 'https://webservices.ebay.com/BulkDataExchangeService'

xml_request = '<?xml version="1.0" encoding="utf-8"?>\
<startDownloadJobRequest xmlns="http://www.ebay.com/marketplace/services">\
   <downloadJobType>ActiveInventoryReport</downloadJobType>\
   <UUID>%s</UUID>\
</startDownloadJobRequest>' % uid

print(xml_request)

request = requests.post(
    url=url,
    headers=headers,
    data=xml_request
)

以上是對我有用的代碼。 創建一個發布請求,而不是獲取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM