2016-07-15 84 views
2

當一件物品通過立即購買和即時付款購買時,我的代碼被正確觸發(代碼發送給我一封電子郵件來測試它)。Ebay API FixedPriceTransaction - ReturnedTransactionCountActual返回0?

我要的是銷售的項目,我相信在這裏的易趣項目ID(發現這個樣本文檔中):

<GetItemTransactionsResponse xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Timestamp>2015-07-02T00:09:03.273Z</Timestamp> 
    <Ack>Success</Ack> 
    <Version>967</Version> 
    <Build>E967_CORE_BUNDLED_11481347_R1</Build> 
    <PaginationResult> 
    <TotalNumberOfPages>1</TotalNumberOfPages> 
    <TotalNumberOfEntries>1</TotalNumberOfEntries> 
    </PaginationResult> 
    <HasMoreTransactions>false</HasMoreTransactions> 
    <TransactionsPerPage>100</TransactionsPerPage> 
    <PageNumber>1</PageNumber> 
    <ReturnedTransactionCountActual>1</ReturnedTransactionCountActual> 
    <Item> 
    <AutoPay>false</AutoPay> 
    <Currency>USD</Currency> 
    **<ItemID>110048746230</ItemID>** 

我使用eBay的API:

public void EbayCall(GetItemTransactionsResponseType response) 

這是期待的正確對象嗎?我看不出爲什麼response.ReturnedTransactionCountActual爲0.還response.Item.ItemID爲空。

response.Ack返回成功。

我在做什麼錯?

回答

0

看起來你正在得到一個XML響應。該ID顯示爲110048746230.xml可以在c#中輕鬆解析。我使用Load(字符串FILENAME)方法起訴了下面的XML Linq,但您可以使用帶有Parse(字符串XML)方法的字符串。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 

namespace ConsoleApplication3 
{ 
    class Program 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      XDocument doc = XDocument.Load(FILENAME); 
      string itemID = (string)doc.Descendants().Where(x => x.Name.LocalName == "ItemID").FirstOrDefault(); 
     } 
    } 
} 
+0

哦,那個XML只是一個例子。我寧願使用API​​,而不是自己解析XML。 – KevinUK

+0

API實際上是否有解析XML的方法? – jdweng