You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS平台如何利用YouTube API获取相关/后续推荐视频?

在iOS上通过YouTube API获取目标视频的相关/后续推荐视频

刚巧之前在iOS项目里实现过类似的需求,用YouTube Data API v3就能轻松搞定,给你一步步拆解具体怎么做:

1. 前期准备

  • 先去Google Cloud Console启用YouTube Data API v3,并生成一个有效的API Key(建议给这个Key绑定iOS应用的Bundle ID,避免被滥用)
  • 在你的iOS项目里集成官方客户端库:如果用CocoaPods,直接在Podfile里添加 pod 'GoogleAPIClientForREST/YouTube',然后执行pod install完成集成

2. 核心API调用逻辑

获取相关/后续推荐视频的核心是调用search.list接口,关键参数要设置对:

  • part: 至少传snippet,这样能拿到视频标题、缩略图、发布者等基础信息
  • relatedToVideoId: 填入你已有的目标视频ID
  • type: 固定设为video,过滤掉频道、播放列表等非视频结果
  • maxResults: 可选参数,控制返回的推荐视频数量,最多支持50个

Swift代码示例

import GoogleAPIClientForREST
import GTMSessionFetcherCore

// 初始化YouTube服务实例
private let youtubeService = GTLRYouTubeService()

func fetchRelatedVideos(targetVideoId: String) {
    // 配置API Key
    youtubeService.apiKey = "你的Google API Key"
    
    // 构建查询请求
    let query = GTLRYouTubeQuery_SearchList.query(withPart: "snippet")
    query.relatedToVideoId = targetVideoId
    query.type = "video"
    query.maxResults = 20 // 按需调整返回数量
    
    // 发送异步请求
    youtubeService.executeQuery(query) { [weak self] ticket, response, error in
        guard let self = self else { return }
        
        if let error = error {
            print("获取推荐视频失败: \(error.localizedDescription)")
            return
        }
        
        // 解析返回结果
        guard let searchResponse = response as? GTLRYouTube_SearchListResponse,
              let relatedVideos = searchResponse.items else {
            print("未获取到相关视频")
            return
        }
        
        // 遍历处理每个推荐视频
        for video in relatedVideos {
            guard let videoId = video.id?.videoId,
                  let title = video.snippet?.title,
                  let thumbnailUrl = video.snippet?.thumbnails?.medium?.url else {
                continue
            }
            
            // 这里可以把视频数据转成你的自定义模型,用于UI展示
            print("推荐视频ID: \(videoId) | 标题: \(title) | 缩略图URL: \(thumbnailUrl)")
        }
    }
}

3. 关键注意事项

  • API配额限制:search.list每次调用会消耗100个单位的API配额,YouTube Data API v3默认的每日配额是10000单位,所以要注意控制请求频率,避免超出配额导致请求失败
  • 后续推荐的特殊性:YouTube播放页的“后续视频”本质上也是基于当前视频的相关推荐,用relatedToVideoId参数返回的结果已经足够贴近官方推荐逻辑;如果需要更精准的后续内容,也可以结合video.list接口获取视频的contentDetails补充信息,但核心逻辑不变
  • 权限与配置:确保你的API Key没有被限制访问YouTube Data API,并且Bundle ID绑定正确(如果设置了的话)

内容的提问来源于stack exchange,提问作者user6333215

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:21:41