当前位置: 首页 > 知识库问答 >
问题:

YouTube数据API部分视频不返回频道

孟文栋
2023-03-14

我使用YouTube数据API从查询结果(视频)中获取一些信息。

大多数视频返回他们的数据正确。但有些视频不返回他们的频道标题(无论如何,所有其他字段都返回正确)。

    com.google.api.services.youtube.YouTube.Search.List search = youtube.search().list("id,snippet");
    search.setKey(getString(R.string.APIKEYYOUTUBE));
    search.setQ("hi");
    search.setType("video");
    search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/medium/url,snippet/channelTitle,snippet/publishedAt)");
    search.setMaxResults(7);

        [...]

    String vId = rId.getVideoId();
    String test = singleVideo.getSnippet().getChannelTitle();

示例:

返回的第二个视频:

vId = "Kgw9xKQX-dI"
test = "htmailru"

返回的第三个视频:

vId = "Q_6XNufgvA4"
test = ""

但是如果我证明youtube中的第三个视频ID,它有(如预期的)一个频道标题。

有什么想法吗?

共有1个答案

孙自怡
2023-03-14

看起来这个问题是在大约两年前报道的,但不幸的是,谷歌还没有回应。记者指出,每当频道标题包含空格时,频道标题就会返回空白。(在您的示例中,Q_6XNufgvA4频道标题为“世界最佳视频”,其中确实包含一个空格。

https://code.google.com/p/gdata-issues/issues/detail?id=6104

幸运的是,作为一种解决方法,当从videos.listchannels.list返回时,channelTitle似乎可以正确填充。

视频列表:

使用搜索响应中的videoId

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&
id=Q_6XNufgvA4&
fields=items%2Fsnippet%2FchannelTitle&
key={YOUR_API_KEY}

返回

{
 "items": [
  {
   "snippet": {
    "channelTitle": "World's Best Videos"
   }
  }
 ]
}

频道列表:

您可以从您的搜索响应(< code > items/snippet/channelId )中获取< code>channelId,并按如下方式发送请求。

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&
id=UCHqBLGGOvojeQswyJptjukA&
fields=items%2Fsnippet%2Ftitle&
key={YOUR_API_KEY}

返回

{
 "items": [
  {
   "snippet": {
    "title": "World's Best Videos"
   }
  }
 ]
}
 类似资料:
  • 我正在尝试获取频道中所有视频的列表,使用playlistItems列表通过传递playlistId来获取所有视频。示例- 使用channels.listAPI调用获取频道上传播放列表的ID:GEThttps://www.googleapis.com/youtube/v3/channels?part=contentDetails 使用playlistItems.list调用获取上传播放列表中的视频:

  • 我使用YouTube搜索API按频道ID检索实时视频,但最近,API开始返回空响应。 例如,我正在从

  • 我有一个YouTube用户,其中不包含YouTube频道。但是,如果我使用“mine=true”属性查询youtube.channels.list API方法,YouTube数据API确实会返回一个频道,如下面的示例(1)所示。 例: (1) 返回一个通道(mine=true;通过使用OAuth): https://developers.google.com/apis-explorer/#p/yo

  • 我正在使用youtube数据api版本3,为了获得顶级的youtube视频,我像这样调用REST API: https://developers . Google . com/APIs-explorer/# p/YouTube/v3/YouTube . search . list?part =片段 并获取这样的数据是json格式: 但此数据不包含youtube视频url,如何从api中获取?

  • 那么,如何从“由YouTube自动生成”(主题)的频道获取发布的视频呢?https://www.youtube.com/channel/UCSkJDgBGvNOEXSQl4YNjDtQ/videos 我可以从频道调用中获取主题ID,但当我按此主题ID搜索时,得到的结果完全不同。 如果我运行搜索api调用: 我只得到播放列表和频道。无视频结果。

  • 我正在尝试使用频道的视频,https://www.googleapis.com/youtube/v3/search?order=date