C# 在YouTube API中查找非英语频道

C# 在YouTube API中查找非英语频道,c#,youtube,youtube-api,C#,Youtube,Youtube Api,我正在尝试使用YouTube api v3查找荷兰YouTube频道。 我发现了一个荷兰指南类别“aanbevolent”(推荐),ID为“GCRmVhdHVyZWQ” 当我调用频道资源时,我得到了英语结果。我期待荷兰的结果,因为我选择了荷兰导游类别 我错过了什么 YouTubeService service = new YouTubeService(new BaseClientService.Initializer() { ApplicationName = "MyApp", ApiKey =

我正在尝试使用YouTube api v3查找荷兰YouTube频道。 我发现了一个荷兰指南类别“aanbevolent”(推荐),ID为“GCRmVhdHVyZWQ”

当我调用频道资源时,我得到了英语结果。我期待荷兰的结果,因为我选择了荷兰导游类别

我错过了什么

YouTubeService service = new YouTubeService(new BaseClientService.Initializer() { ApplicationName = "MyApp", ApiKey = "[mykey]" });
ChannelsResource.ListRequest resource = new ChannelsResource.ListRequest(service, "id,snippet");
resource.CategoryId = "GCRmVhdHVyZWQ";
resource.MaxResults = 50;

ChannelListResponse result;
result = resource.Execute();

搜索YouTube指南类别(自动生成)可以指定语言和地区代码;然而,这并不意味着结果与频道的语言有任何关系。相反,它是特定国家是否有特定类别的指标(类别标题仅根据语言参数翻译)。换句话说,如果您在regionCode参数设置为NL的情况下执行guideCategories搜索,您将返回所有授权在荷兰显示的类别。无论区域代码如何,您都将获得相同的类别ID,因为该类别ID只是通用的“YouTube特色”类别

这基本上是对端点工作原理的误解

目前还没有一种方法可以从特定地区或特定语言获取频道,但有一种非常好的方法可以从特定地区获取视频(显然,这可能会让你找到频道)。videos->list端点有一个图表参数,您可以将该参数设置为“mostPopular”,然后该参数还会播放regionCode和videoCategory参数,以返回特定类别中特定区域最流行的视频(请注意,视频类别不同于指南类别,因为用户可以设置自己的视频类别)。例如,像这样的URL:

https://www.googleapis.com/youtube/v3/videos?part=snippet&chart=mostPopular&regionCode=NL&videoCategoryId=17&key={YOUR_API_KEY}
将返回荷兰最流行的体育视频(因为category 17是“sports”的类别)。我将让您将该端点转换为c#client的正确对象方法

还请注意,您可以通过与获取指南类别类似的方式获取某个区域可用的所有视频类别:

https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&hl=nl&regionCode=NL&key={YOUR_API_KEY}