2017-04-17 111 views
0

我試圖做一個getmyebayselling請求,所以我可以跟蹤當前列表的價格和數量。eBay交易API XML響應

繼文檔和示例here後,我生成了一個令牌,並嘗試向生產XML發送請求以查看我當前的列表。

當前的嘗試:

endpoint = "https://api.ebay.com/ws/api.dll" 
xml = """<?xml version="1.0" encoding="utf-8"?> 
<GetMyeBaySellingRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <RequesterCredentials> 
    <eBayAuthToken>AgAAAA*...full auth token here...wIAYMEFWl</eBayAuthToken> 
    </RequesterCredentials> 
    <Version>967</Version> 
    <ActiveList> 
    <Sort>TimeLeft</Sort> 
    <Pagination> 
     <EntriesPerPage>3</EntriesPerPage> 
     <PageNumber>1</PageNumber> 
    </Pagination> 
    </ActiveList> 
</GetMyeBaySellingRequest>""" 
headers = {'Content-Type': 'application/xml'} 
response = requests.post(endpoint, data=xml, headers=headers) 
print response 
print response.content 

響應:

<?xml version="1.0" encoding="UTF-8" ?><GeteBayOfficialTimeResponse xmlns="urn:ebay:apis:eBLBaseComponents"><Timestamp>2017-04-17 13:01:25</Timestamp><Ack>Failure</Ack><Errors><ShortMessage>Unsupported API call.</ShortMessage><LongMessage>The API call "GeteBayOfficialTime" is invalid or not supported in this release.</LongMessage><ErrorCode>2</ErrorCode><SeverityCode>Error</SeverityCode><ErrorClassification>RequestError</ErrorClassification></Errors><Build>18007282</Build></GeteBayOfficialTimeResponse> 

該響應的有用部分:

The API call "GeteBayOfficialTime" is invalid or not supported in this release. 

我從自己的文檔樣本在這裏工作。我真正能看到的唯一一個鏈接是<Sort>TimeLeft</Sort>這是一個延伸,但即使沒有,我得到相同的迴應。

我忙着用不同的Python庫試圖獲得getmyebayselling請求,沒有太多的文檔工作。現在通過eBay自己的文檔,我感覺自己已經死在了水中。如果任何人都可以將我推向正確的方向,我會很感激。不確定接下來要嘗試什麼。

回答

1

API響應錯誤稍微有點幫助,但是根據您分享的代碼判斷您是否在請求中丟失了所需的標題字段。更多細節here

下面的變化應該指向你在正確的方向 -

headers = { 
    'X-EBAY-API-COMPATIBILITY-LEVEL': '<compat_level>', 
    'X-EBAY-API-CALL-NAME': '<api_call_name>', 
    'X-EBAY-API-SITEID': '<api_siteid>', 
    'Content-Type': 'application/xml' 
}