2012-06-01 4 views
4

Как я могу вызвать eBay и запросить его для возврата массива результатов поиска?Как запросить продукты с ebay api?

Это то, что я придумал до сих пор:

string endpoint = "https://api.ebay.com/wsapi"; 
string siteId = "0"; 
string appId = "*";  // use your app ID 
string devId = "*";  // use your dev ID 
string certId = "*"; // use your cert ID 
string version = "405"; 

string requestURL = endpoint 
+ "?callname=FindProducts" 
+ "&siteid=" + siteId 
+ "&appid=" + appId 
+ "&version=" + version 
+ "&routing=default" 
+ "&AvailableItemsOnly=true" 
+ "&QueryKeywords=nvidia" 
+ "&itemFilter(0).name=ListingType" 
+ "&itemFilter(0).value(0)=FixedPrice" 
+ "&itemFilter(0).value(1)=Auction" 
+ "&CategoryID=27386"; 

Как я могу обернуть его в запрос и получить ответ в какой-то структуры данных? Я получил SDK.

+1

Они имеют SDK .NET обертку для вас, чтобы вы не должны обрабатывать все это вручную: http://developer.ebay.com/DevZone/WindowsSDK/docs/Getting%20Started/GettingStartedGuide.html , Вы пробовали это? – mellamokb

+0

Не могли бы вы привести мне пример, который мог бы помочь мне с моей проблемой? – Andrew

+0

См. Пример здесь: http://developer.ebay.com/DevZone/WindowsSDK/docs/Getting%20Started/HowTo/MakingACall.html#Call. Оттуда, я считаю, что будет метод под названием «FindProducts», который вы можете вызвать с параметрами, которые вы вручную помещаете в строку. Вам не нужно путаться со строительными ответами, запросить url, SOAP, ответы и т. Д. – mellamokb

ответ

4

Мне нужно было использовать API поиска eBay;

public GetItemCall getItemDataFromEbay(String itemId) 
    { 
     ApiContext oContext = new ApiContext(); 
     oContext.ApiCredential.ApiAccount.Developer = ""; // use your dev ID 
     oContext.ApiCredential.ApiAccount.Application = ""; // use your app ID 
     oContext.ApiCredential.ApiAccount.Certificate = ""; // use your cert ID 
     oContext.ApiCredential.eBayToken = "";   //set the AuthToken 

     //set the endpoint (sandbox) use https://api.ebay.com/wsapi for production 
     oContext.SoapApiServerUrl = "https://api.ebay.com/wsapi"; 

     //set the Site of the Context 
     oContext.Site = eBay.Service.Core.Soap.SiteCodeType.US; 

     //the WSDL Version used for this SDK build 
     oContext.Version = "735"; 

     //very important, let's setup the logging 
     ApiLogManager oLogManager = new ApiLogManager(); 
     oLogManager.ApiLoggerList.Add(new eBay.Service.Util.FileLogger("GetItem.log", true, true, true)); 
     oLogManager.EnableLogging = true; 
     oContext.ApiLogManager = oLogManager; 

     GetItemCall oGetItemCall = new GetItemCall(oContext); 

     //' set the Version used in the call 
     oGetItemCall.Version = oContext.Version; 

     //' set the Site of the call 
     oGetItemCall.Site = oContext.Site; 

     //' enable the compression feature 
     oGetItemCall.EnableCompression = true; 
     oGetItemCall.DetailLevelList.Add(eBay.Service.Core.Soap.DetailLevelCodeType.ReturnAll); 
     oGetItemCall.ItemID = itemId; 
     try 
     { 
      oGetItemCall.GetItem(oGetItemCall.ItemID); 
     } 
     catch (Exception E) 
     { 
      Console.Write(E.ToString()); 
      oGetItemCall.GetItem(itemId); 
     } 
     GC.Collect(); 
     return oGetItemCall; 
    } 
Смежные вопросы