【问题标题】:ebay FindingAPI how to find items specified within a given day rangeebay FindingAPI 如何查找给定日期范围内指定的项目
【发布时间】:2012-05-13 20:22:59
【问题描述】:

我正在使用此代码部分使用 ebay FindingAPI 查找拍卖类型的所有项目。现在我想过滤那些在指定日期(例如:2 天)内开始的项目。如何添加此首选项??

检查此link 和偏好类型。这是代码部分:

IPaginationInput pagination = new PaginationInput();

pagination.entriesPerPageSpecified = true;
pagination.entriesPerPage = 100;
pagination.pageNumberSpecified = true;
pagination.pageNumber = curPage;
request.paginationInput = pagination;

ItemFilter if1 = new ItemFilter();
ItemFilter if2 = new ItemFilter();
if1.name = ItemFilterType.ListingType;
if1.value = new string[] { "Auction" };




ItemFilter[] ifa = new ItemFilter[1];
ifa[0] = if1;
request.itemFilter = ifa;

FindItemsByKeywordsResponse response = client.findItemsByKeywords(request);


foreach (var item in response.searchResult.item)
{

    tw.WriteLine(item.viewItemURL.ToString());
    links.Add(item.viewItemURL.ToString());
}

【问题讨论】:

  • 不要认为有过滤器。 FilterType 只有 EndTimeFrom EndTimeTo 没有 startTime developer.ebay.com/devzone/finding/callref/types/…
  • 您是否尝试过使用ModTimeFrom-type?当然,它需要所有已更改状态的拍卖,但也许您可以在拥有此功能时过滤掉拍卖客户端。

标签: c# ebay-api


【解决方案1】:

这应该可以大致满足您的需求。将用于比较的两个日期设置为您想要的任何日期。

IPaginationInput pagination = new PaginationInput();

                    pagination.entriesPerPageSpecified = true;
                    pagination.entriesPerPage = 100;
                    pagination.pageNumberSpecified = true;
                    pagination.pageNumber = curPage;
                    request.paginationInput = pagination;

                    ItemFilter if1 = new ItemFilter();
                    ItemFilter if2 = new ItemFilter();
                    if1.name = ItemFilterType.ListingType;
                    if1.value = new string[] { "Auction" };




                    ItemFilter[] ifa = new ItemFilter[1];
                    ifa[0] = if1;
                    request.itemFilter = ifa;

                    FindItemsByKeywordsResponse response = client.findItemsByKeywords(request);


                    foreach (var item in response.searchResult.item)
                    {
                         // EDIT
                         if (item.listingInfo.startTime.CompareTo(DateTime.UtcNow) > -1) // -1 is earlyer; 0 is same; +1 is later then
                         {
                           if (item.listingInfo.startTime.CompareTo(DateTime.UtcNow.AddDays(-2)) == -1 )
                           {
                               // You have an Item that was started between now and two days ago.
                               // Do something

                           }
                        }
                        // END EDIT

                        tw.WriteLine(item.viewItemURL.ToString());
                        links.Add(item.viewItemURL.ToString());
                    }

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多