我正在尝试使用 YouTube API v3 查找荷兰 YouTube channel 。 我找到了一个荷兰语指南类别“Aanbevolen”(推荐),ID =“GCRmVhdHVyZWQ”。
当我调用 channel 资源时,我得到英文结果。我期待荷兰语结果,因为我选择了荷兰语指南类别。
我错过了什么?
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 指南类别(自动生成),您可以指定语言和区域代码;然而,这并不意味着结果与 channel 的语言有任何关系。相反,它是特定类别在特定国家/地区是否可用的指标(并且类别标题只是根据语言参数进行翻译)。换句话说,如果您执行guideCategories 搜索并将regionCode 参数设置为NL,您将得到授权在荷兰显示的所有类别。无论区域代码如何,您都会返回相同的类别 ID,因为该类别 ID 只是通用的“YouTube 精选”类别。
所以这基本上是对guideCategories端点如何工作的误解。
目前还没有办法从特定区域或特定语言获取 channel ,但是有一种非常好的方法可以从特定区域获取视频(显然,可能会引导您进入 channel )。 videos->list 端点有一个图表参数,您可以将其设置为“mostPopular”,然后该参数还会根据regionCode 和videoCategory 参数进行计算,以返回特定类别中特定区域最受欢迎的视频(请注意,视频类别是与指南类别不同,用户可以设置自己的视频类别)。例如,像这样的 URL:
https://www.googleapis.com/youtube/v3/videos?part=snippet&chart=mostPopular®ionCode=NL&videoCategoryId=17&key={YOUR_API_KEY}
将返回荷兰最受欢迎的体育视频(因为类别 17 是“体育”类别)。我将让您将该端点转换为 C# 客户端的正确对象方法。
另请注意,您可以通过类似于获取指南类别的方式获取某个地区可用的所有视频类别:
https://www.googleapis.com/youtube/v3/videoCategories?part=snippet&hl=nl®ionCode=NL&key={YOUR_API_KEY}
关于c# - 在 YouTube API 中查找非英语 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432430/