C# 易趣api退货类别列表

C# 易趣api退货类别列表,c#,C#,我有以下方法可以使用物品id从api返回易趣物品数据。但问题是我想使用此方法检索易趣类别和子类别列表。我已经将下面的值改为GetCategories而不是GetMultipleItems,但它只是把它搞砸了,没有返回任何内容。如果有人对易趣api有很好的了解,请提供帮助。我的目标是返回所有易趣类别和子类别,就是这样。提前谢谢。注意:我放置了我的测试易趣帐户凭据,只是为了帮助您快速调试 request.Headers.Add(“X-EBAY-API-CALL-NAME”、“GetMultipleI

我有以下方法可以使用物品id从api返回易趣物品数据。但问题是我想使用此方法检索易趣类别和子类别列表。我已经将下面的值改为
GetCategories
而不是
GetMultipleItems
,但它只是把它搞砸了,没有返回任何内容。如果有人对易趣api有很好的了解,请提供帮助。我的目标是返回所有易趣类别和子类别,就是这样。提前谢谢。注意:我放置了我的测试易趣帐户凭据,只是为了帮助您快速调试

request.Headers.Add(“X-EBAY-API-CALL-NAME”、“GetMultipleItems”)

私有字符串GetItemData(字符串itemID)
{
var request=(HttpWebRequest)WebRequest.Create(“http://open.api.ebay.com/shopping");
字节[]字节=null;
请求。标题。添加(“X-EBAY-API-APP-ID”、“KavinHim-BestProd-PRD-78e3e6bf1-97d9ef25”);
请求。标题。添加(“X-EBAY-API-DEV-NAME”、“afd260f4-ec61-49e9-a78e-235d6a622c08”);
请求。标题。添加(“X-EBAY-API-CERT-NAME”、“PRD-8e3e6bf1d032-6b7b-44e2-abf5-e1a5”);
请求。标题。添加(“X-EBAY-API-SITE-ID”,“0”);
request.Headers.Add(“X-EBAY-API-CALL-NAME”、“GetMultipleItems”);
请求。标题。添加(“X-EBAY-API-VERSION”、“863”);
添加(“X-EBAY-API-request-ENCODING”、“xml”);
request.Timeout=Timeout.Infinite;
request.KeepAlive=true;
字符串itemNode=“”+itemID+“\n”;
bytes=System.Text.Encoding.ASCII.GetBytes(“ItemSpecifics”+itemNode+”);
request.Method=“POST”;
Proxy=null;
Stream requestStream=request.GetRequestStream();
requestStream.Write(字节、0、字节、长度);
requestStream.Close();
使用(var response=(HttpWebResponse)request.GetResponse())
{
if(response.StatusCode==HttpStatusCode.OK)
{
Stream responseStream=response.GetResponseStream();
字符串responsest=新的StreamReader(responseStream).ReadToEnd();
responseStream.Close();
//var document=XDocument.Parse(responsest);
//XNamespace ns=“urn:ebay:api:eblbbasecomponents”;
返回响应;
}
返回null;
}
}
1。XMLAPI。 请注意我在示例中使用的url和标题参数。如何获取易趣令牌检查此链接


GetMultipleItems和GetCategories需要不同的输入,您是否更改了它们?不,我没有找到解释@Zivweisman必填字段的清晰文档
private string GetItemData(string itemID)
{

    var request = (HttpWebRequest)WebRequest.Create("http://open.api.ebay.com/shopping");
    byte[] bytes = null;
    request.Headers.Add("X-EBAY-API-APP-ID", "KavinHim-BestProd-PRD-78e3e6bf1-97d9ef25");
    request.Headers.Add("X-EBAY-API-DEV-NAME", "afd260f4-ec61-49e9-a78e-235d6a622c08");
    request.Headers.Add("X-EBAY-API-CERT-NAME", "PRD-8e3e6bf1d032-6b7b-44e2-abf5-e1a5");
    request.Headers.Add("X-EBAY-API-SITE-ID", "0");
    request.Headers.Add("X-EBAY-API-CALL-NAME", "GetMultipleItems");
    request.Headers.Add("X-EBAY-API-VERSION", "863");
    request.Headers.Add("X-EBAY-API-REQUEST-ENCODING", "xml");


    request.Timeout = Timeout.Infinite;
    request.KeepAlive = true;

    string itemNode = "<ItemID>" + itemID + "</ItemID> \n";

    bytes = System.Text.Encoding.ASCII.GetBytes("<?xml version='1.0' encoding='utf-8'?> <GetMultipleItemsRequest xmlns='urn:ebay:apis:eBLBaseComponents'> <IncludeSelector>ItemSpecifics</IncludeSelector> " + itemNode + " </GetMultipleItemsRequest>");

    request.Method = "POST";
    request.Proxy = null;


    Stream requestStream = request.GetRequestStream();
    requestStream.Write(bytes, 0, bytes.Length);
    requestStream.Close();
    using (var response = (HttpWebResponse)request.GetResponse())
    {
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Stream responseStream = response.GetResponseStream();
            string responseStr = new StreamReader(responseStream).ReadToEnd();
            responseStream.Close();
            //var document = XDocument.Parse(responseStr);
            //XNamespace ns = "urn:ebay:apis:eBLBaseComponents";
            return responseStr;

        }
        return null;
    }
}
var request = (HttpWebRequest) WebRequest.Create("https://api.sandbox.ebay.com/ws/api.dll");
request.Headers.Add("X-EBAY-API-APP-NAME", "stackove-testapp-SBX-95d7a0307-15c60ef4");
request.Headers.Add("X-EBAY-API-DEV-NAME", "ca7a53e9-b281-4787-a77c-91c73fb09e1f");
request.Headers.Add("X-EBAY-API-CERT-NAME", "SBX-5d7a030717dc-d70b-45b7-ab25-0c14");
request.Headers.Add("X-EBAY-API-SITEID", "0");
request.Headers.Add("X-EBAY-API-CALL-NAME", "GetCategories");
request.Headers.Add("X-EBAY-API-COMPATIBILITY-LEVEL", "863");
request.ContentType = "text/xml";
request.Method = "POST";
request.KeepAlive = true;
request.Proxy = null;

var eBayToken = "ebay_token";
var bytes = Encoding.UTF8.GetBytes(string.Format(@"<?xml version='1.0' encoding='utf-8'?>
    <GetCategoriesRequest xmlns='urn:ebay:apis:eBLBaseComponents'>
    <RequesterCredentials>
    <eBayAuthToken>{0}</eBayAuthToken>
    </RequesterCredentials>
    <CategorySiteID>0</CategorySiteID>
    <DetailLevel>ReturnAll</DetailLevel>
    </GetCategoriesRequest>", eBayToken));
request.ContentLength = bytes.Length;
using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(bytes, 0, bytes.Length);
    using (var response = (HttpWebResponse) request.GetResponse())
    {
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Stream responseStream = response.GetResponseStream();
            string responseStr = new StreamReader(responseStream).ReadToEnd();
        }
    }
}
 eBay.Service.Call.GetCategoriesCall getCategories = new GetCategoriesCall();
            getCategories.ApiContext.SoapApiServerUrl = "https://api.sandbox.ebay.com/wsapi";
            getCategories.ApiContext.ApiCredential.eBayToken = your_token;
            getCategories.CategorySiteID = "0";
            getCategories.LevelLimit = 4;
            getCategories.DetailLevelList.Add(DetailLevelCodeType.ReturnAll);
            var categories = getCategories.GetCategories();