我无法让新的eBay Taxonomy API与使用C#的get_category_suggestions调用一起正常工作,以替换eBay正在弃用的旧GetSuggestedCategories调用。我使用的方法与调用较新的Taxonomy API的其他部分时使用的方法完全相同,它可以在eBay API中获得默认的类别树id。下面的代码可以让我获得EBAY-US的树节点ID,即124。
HttpWebRequest request = WebRequest.Create("https://api.ebay.com/commerce/taxonomy/v1/get_default_category_tree_id?marketplace_id=EBAY-US") as HttpWebRequest;
request.Method = "GET";
request.Headers.Add(HttpRequestHeader.Authorization, System.Web.HttpUtility.HtmlEncode("Bearer " + accessToken));
request.Headers.Add("X-EBAY-C-MARKETPLACE-ID", "EBAY-US");
log.Debug("starting request.GetRequestStream get_category_suggestions");
string result = null;
var response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
log.Debug("about to load results to json reader");
var reader = new JsonTextReader(new StringReader(result));
log.Debug("successfully loaded results"); 然后,我使用124个默认的类别树id来尝试使用与eBay完全相同的代码的get_category_suggestions (https://developer.ebay.com/api-docs/commerce/taxonomy/resources/category_tree/methods/getCategorySuggestions#h2-samples),但我总是收到来自eBay的404not Found消息。这里我漏掉了什么?问题代码如下:
HttpWebRequest request = WebRequest.Create("https://api.ebay.com/commerce/taxonomy/v1/get_default_category_tree_id?marketplace_id=EBAY-US") as HttpWebRequest;
request.Method = "GET";
request.Headers.Add(HttpRequestHeader.Authorization, System.Web.HttpUtility.HtmlEncode("Bearer " + accessToken));
request.Headers.Add("X-EBAY-C-MARKETPLACE-ID", "EBAY-US");request.Headers.Add("Accept-Encoding", "application/gzip");
log.Debug("starting request.GetRequestStream get_category_suggestions");
string result = null;
var response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
log.Debug("about to load results to json reader");
var reader = new JsonTextReader(new StringReader(result));
log.Debug("successfully loaded results"); 发布于 2021-04-29 05:38:08
所以我看到在category_tree_id的调用getCategorySubtree的文档中,他们使用了数字0。需要明确的是,数字0并不是getCategorySuggestions文档中所述的数字。*截至2021年4月,文档指出,您首先需要调用getDefaultCategoryTree并使用该返回作为您的category_tree_id。但是知道eBay是如何运行的(不太好),我用数字0作为category_tree_id尝试了一下getCategorySuggestions调用,它工作了。
HttpWebRequest request = WebRequest.Create("https://api.ebay.com/commerce/taxonomy/v1/category_tree/0/get_category_suggestions?q=" + title) as HttpWebRequest;
request.Method = "GET";
request.Headers.Add(HttpRequestHeader.Authorization, System.Web.HttpUtility.HtmlEncode("Bearer " + accessToken));
request.Headers.Add("X-EBAY-C-MARKETPLACE-ID", "EBAY-US");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
log.Debug("starting request.GetRequestStream get_category_suggestions");
string result = null;
var response = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
log.Debug("about to load results to json reader");
var reader = new JsonTextReader(new StringReader(result));
log.Debug("successfully loaded results");https://stackoverflow.com/questions/67235873
复制相似问题