【问题标题】:Find non-english channels in YouTube API在 YouTube API 中查找非英语频道
【发布时间】:2014-08-17 10:03:21
【问题描述】:

我正在尝试使用 YouTube api v3 查找荷兰语 YouTube 频道。 我找到了一个 ID = 'GCRMVhdHVyZWQ' 的荷兰指南类别“Aanbevolen”(推荐)。

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

我错过了什么?

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();

【问题讨论】:

    标签: c# youtube youtube-api


    【解决方案1】:

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

    所以这基本上是对 guideCategories 端点如何工作的误解。

    目前没有办法从特定区域或特定语言获取 频道,但有一种非常好的方法可以从特定区域获取 视频(即显然,可能会引导您进入频道)。 videos->list 端点的 chart 参数可以设置为“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}
    

    【讨论】:

      猜你喜欢
      • 2013-01-29
      • 2018-10-31
      • 2016-08-21
      • 2013-10-25
      • 2013-10-16
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      相关资源
      最近更新 更多