Ebay API FixedPriceTransaction - ReturnedTransactionCountActual返回0?

时间:2016-07-15 09:18:25

标签: c# ebay-api

当使用“立即购买”并立即付款购买商品时,我的代码正在被正确触发(代码会向我发送一封电子邮件进行测试)。

我想要的是所售商品的易趣商品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为null。

response.Ack返回Success。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

看起来你得到了一个xml响应。 ID显示为110048746230.可以在c#中轻松解析xml。我使用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();
        }
    }
}