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

Youtube /v3/search API不再返回实时视频

阳念
2023-03-14

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

例如,我正在从检索https://www.googleapis.com/youtube/v3/search?part=snippet

{
 "kind": "youtube#searchListResponse",
 "etag": "\"8jEFfXBrqiSrcF6Ee7MQuz8XuAM/-f6JA5_OcXz2RWuH1mpAA2_9mM8\"",
 "regionCode": "US",
 "pageInfo": {
  "totalResults": 0,
  "resultsPerPage": 5
 },
 "items": []
}

正如我之前提到的,直到最近,这个请求都在很好地检索数据。我在YouTubeAPI文档上找不到任何更改,所以我想知道是否有人知道发生了什么变化,或者我是否可以采取不同的方法通过频道ID提取实时视频。


共有3个答案

苏彦君
2023-03-14

试试这个代码

   async static Task<IEnumerable<YouTubeVideo>> GetVideosList(Configurations configurations, string searchText = "", int maxResult = 20)
    {
        List<YouTubeVideo> videos = new List<YouTubeVideo>();

        using (var youtubeService = new YouTubeService(new BaseClientService.Initializer()
        {
            ApiKey = configurations.ApiKey
        }))
        {
            var searchListRequest = youtubeService.Search.List("snippet");
            searchListRequest.Q = searchText;
            searchListRequest.MaxResults = maxResult;
            searchListRequest.ChannelId = configurations.ChannelId;
            searchListRequest.Type = "video";
            searchListRequest.Order = SearchResource.ListRequest.OrderEnum.Date;// Relevance;


            var searchListResponse = await searchListRequest.ExecuteAsync();


            foreach (var responseVideo in searchListResponse.Items)
            {
                videos.Add(new YouTubeVideo()
                {
                    Id = responseVideo.Id.VideoId,
                    Description = responseVideo.Snippet.Description,
                    Title = responseVideo.Snippet.Title,
                    Picture = GetMainImg(responseVideo.Snippet.Thumbnails),
                    Thumbnail = GetThumbnailImg(responseVideo.Snippet.Thumbnails)
                });
            }

            return videos;
        }

    }
黄弘盛
2023-03-14

作为替代,您可以加载“上传”播放列表,检查https://stackoverflow.com/a/27872244/2154075

狄侯林
2023-03-14

不是答案,但似乎endpoint不会返回任何包含实时内容的最新视频。据我所知,它不会返回过去24小时内发布的任何内容。

在Google支持上发现一个未解决的问题https://support.google.com/youtube/thread/14611425?hl=en

 类似资料:
  • 我正在使用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调用: 我只得到播放列表和频道。无视频结果。

  • 我使用YouTube数据API从查询结果(视频)中获取一些信息。 大多数视频返回他们的数据正确。但有些视频不返回他们的频道标题(无论如何,所有其他字段都返回正确)。 示例: 返回的第二个视频: 返回的第三个视频: 但是如果我证明youtube中的第三个视频ID,它有(如预期的)一个频道标题。 有什么想法吗?

  • 由于Youtube Api V2不再支持特定的视频。任何人都可以解释一下如何使用youtube api v3喜欢视频吗?我总是得到以下回应: 请求是: 该部分是 = 片段 我在关注这些文档:https://developers . Google . com/YouTube/v3/docs/activities/insert

  • 最近,搜索列表api(事件类型:live)没有返回任何内容 例子:https://www.googleapis.com/youtube/v3/search?part=id一小条 返回 有人也有这个问题吗? 这个api曾经可以获得直播频道,但是现在它什么也没有返回

  • 我在使用YouTube API v3时不断收到无效的SearchFilter错误。我有以下参数: 我正在使用API游乐场,并注意到如果我进行OAuth调用,它会工作,但仅使用API密钥(在没有OAuth的情况下执行),它会失败。同样的事情发生在我的代码中。基本的列表调用在两者中都有效,所以我怀疑他们的API中存在错误,或者我错过了一些东西。 其他人可以确认这一点,看看我是否错过了什么? 如果我去掉