C# 为什么GetCategoriesCall返回0个类别?

C# 为什么GetCategoriesCall返回0个类别?,c#,.net,ebay-api,C#,.net,Ebay Api,我正在尝试使用易趣.Net SDK获取易趣德国的所有根目录。我有以下代码: var rootCategoriesCall = new GetCategoriesCall(apiContext); rootCategoriesCall.Site = SiteCodeType.Germany; rootCategoriesCall.LevelLimit = 1; var categories = rootCategoriesCall.GetCategories().Cast<CategoryT

我正在尝试使用易趣.Net SDK获取易趣德国的所有根目录。我有以下代码:

var rootCategoriesCall = new GetCategoriesCall(apiContext);
rootCategoriesCall.Site = SiteCodeType.Germany;
rootCategoriesCall.LevelLimit = 1;
var categories = rootCategoriesCall.GetCategories().Cast<CategoryType>();
var rootCategoriesCall=newgetcategoriescall(apiContext);
rootCategoriesCall.Site=SiteCodeType.Germany;
rootCategoriesCall.LevelLimit=1;
var categories=rootCategoriesCall.GetCategories().Cast();
调用似乎已执行(eBay API调用通常会出现延迟),并且不会抛出错误,但我得到0个类别。有人知道是什么导致了这种行为以及如何修复它吗

注意,我使用了一个沙盒令牌。至于
rootCategoriesCall.LevelLimit=1行。他认为这是一种只获取根类别的方法


另外,我也尝试过设置
CategorySiteID
而不是
Site
,并且根本没有设置它(默认为eBay US),但结果是一样的。

我不完全确定为什么需要它,但似乎我明确需要设置
DetailLevel
。如果我将通话改为:

var rootCategoriesCall = new GetCategoriesCall(apiContext);
rootCategoriesCall.Site = SiteCodeType.Germany;
rootCategoriesCall.DetailLevelList.Add(DetailLevelCodeType.ReturnAll);
rootCategoriesCall.LevelLimit = 1;
var categories = rootCategoriesCall.GetCategories().Cast<CategoryType>();
var rootCategoriesCall=newgetcategoriescall(apiContext);
rootCategoriesCall.Site=SiteCodeType.Germany;
rootCategoriesCall.DetailLevelList.Add(DetailLevelCodeType.ReturnAll);
rootCategoriesCall.LevelLimit=1;
var categories=rootCategoriesCall.GetCategories().Cast();

我确实得到了根目录。

这不行吗@DavidG我以前看过这一页,但我决定再次比较他们的代码和我的代码。似乎显式添加
rootCategoriesCall.DetailLevelList.Add(DetailLevelCodeType.ReturnAll)我的代码使它实际工作。谢谢你的帮助。用这个作为回答我觉得有点无礼!。站点将手动覆盖api上下文中定义的站点。您需要为此调用使用特定的category id属性。此外,如果您不提供类别站点id,则默认为api上下文中定义的id