c# - 在 YouTube API 中查找非英语 channel

标签 c# youtube youtube-api

我正在尝试使用 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&regionCode=NL&videoCategoryId=17&key={YOUR_API_KEY}

将返回荷兰最受欢迎的体育视频(因为类别 17 是“体育”类别)。我将让您将该端点转换为 C# 客户端的正确对象方法。

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

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

关于c# - 在 YouTube API 中查找非英语 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432430/

相关文章:

c# - 编写需要嵌入加密数据库的 C# 桌面应用程序。我应该使用什么类型的数据库?

c# - 为什么将动态对象类型转换为对象会抛出空引用异常?

python - 如何在youtube api中跨多个 channel 搜索内容?

ajax - 如何在基于算法的无限滚动中防止重复

JAVA:使用 YouTube Live Streaming API 创建新的直播 Activity

c# - "Execution of the ' document() ' function was prohibited."其中 EnableDocumentFunction 设置为 true?

html - 嵌入用户输入的 YouTube 视频

java - YouTube直接API : Could not retrieve YouTube upload token: 400

javascript - 如何在 HTML5 的 "video"标签中使用 youtube 视频作为源

c# - 实例化对象中的所有属性和子属性(C#.net)