2

HTTP POSTEbays Trading API から注文データを取得しようとしています。ご覧のとおり、私はこれに少し慣れていません。私は最初に彼らの API テスト ツールを使用し、実稼働環境を介して実際の注文データを取得することに成功しました。

HTTP ヘッダー情報と XML Requestion セクションをコピーし、それを有効な HTTP Post にすると思われるものと共にファイルに入れ、バッチ ファイル経由で呼び出される Curl 実行可能ファイルを使用しました。

これはうまくいかなかったので、より単純なリクエスト GeteBayTime に変更しましたが、まったく同じ結果が得られました。

私のバッチファイルは...(すべて1行)

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

誰でも私の問題を見つけることができますか??

4

2 に答える 2

1

リクエストボディのみがデータ内にある必要があります -

<?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
于 2013-02-05T09:29:21.790 に答える
1

私には解決策があります-正しい方法を見つけるために時間を費やします:

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.dll

ポストファイル:

<?xml version="1.0" encoding="utf-8"?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
    <RequesterCredentials>
        <eBayAuthToken>Your Token</eBayAuthToken>
    </RequesterCredentials>
</GeteBayOfficialTimeRequest>
于 2016-09-25T19:38:59.160 に答える