我正在尝试做一个HTTP POST从易趣交易API检索订单数据。我对此还是个新手--正如你所看到的。我首先使用了他们的API测试工具,并成功地通过生产环境获得了实际订单数据。
我复制了HTTP头信息和XML请求部分,将其与我认为将使其成为有效的HTTP Post的内容放在一个文件中,然后使用Curl可执行文件-通过批处理文件调用。
这不起作用--所以我改成了一个更简单的请求-- GeteBayTime --并且得到了完全相同的结果。
我的批处理文件是...(全部为一行)
Curl -X POST --header "Content-Type:text/xml" -d @postfile https://api.ebay.com/ws/api.dll > out.xml邮寄文件是..。
POST / HTTP/1.1
Host: https://api.ebay.com/ws/api.dll
User-Agent: App v1.0
Connection: Keep Alive
Content-Length: 125
Content-Type: text/xml
X-EBAY-API-APP-ID:***-MyReal-APP-ID-here***
X-EBAY-API-VERSION:807
X-EBAY-API-COMPATIBILITY-LEVEL:707
X-EBAY-API-SITE-ID:0
X-EBAY-API-CALL-NAME:GeteBayTime
X-EBAY-API-REQUEST-ENCODING:XML
<?xml version="1.0" encoding="utf-8"?>
<GeteBayTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
</GeteBayTimeRequest>结果(在out.xml中)是...
<?xml version="1.0" encoding="UTF-8"?>
-<GeteBayOfficialTimeResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2013-02-04 02:56:43</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>15743293</Build>
</GeteBayOfficialTimeResponse有人能发现我的问题吗??
发布于 2013-02-05 17:29:22
只有请求正文必须在数据中-
<?xml version="1.0" encoding="utf-8"?>
<GeteBayTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
</GeteBayTimeRequest>该值必须在标题中-
X-EBAY-API-APP-ID:***-MyReal-APP-ID-here***
X-EBAY-API-VERSION:807
X-EBAY-API-COMPATIBILITY-LEVEL:707
X-EBAY-API-SITE-ID:0
X-EBAY-API-CALL-NAME:GeteBayTime
X-EBAY-API-REQUEST-ENCODING:XML发布于 2016-09-26 03:38:59
我有解决方案--我花了一些时间找到正确的方法:
Curl -X POST -H "Content-type: text/xml" -H "X-EBAY-API-COMPATIBILITY-LEVEL:911" -H "X-EBAY-API-SITEID:3" -H "X-EBAY-API-CALL-NAME:GeteBayOfficialTime" -d @postfile.txt https://api.ebay.com/ws/api.dllPostfile:
<?xml version="1.0" encoding="utf-8"?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>Your Token</eBayAuthToken>
</RequesterCredentials>
</GeteBayOfficialTimeRequest>https://stackoverflow.com/questions/14679856
复制相似问题