如何通过YouTube API为视频添加信息卡片?
关于YouTube视频卡片API的疑问
我正在学习YouTube API,发现市面上部分浏览器扩展可为已有YouTube视频添加信息卡片模板。我认为这需要用到卡片相关API(直接修改Web应用DOM存在安全风险),但查阅YT Data API、报告与分析API后,未找到程序化添加视频卡片的方法。目前仅能通过YouTube Studio UI添加卡片,想咨询是否有官方的卡片/注释API?若没有,其他开发者是如何间接实现的?
注:
- 我已在YouTube社区求助但未获回复,故在此提问。
- 我参考过Stack Overflow上的旧帖《YouTube Cards API》,但因发布时间久远且YouTube API有诸多更新,未找到确切答案。
我尝试过YouTube Data API的视频创建与更新接口,但未找到添加信息卡片的字段/方法,以下是示例代码:
POST https://youtube.googleapis.com/youtube/v3/videos?part=snippet%2Cstatus&key=[YOUR_API_KEY] HTTP/1.1 Authorization: Bearer [YOUR_ACCESS_TOKEN] Accept: application/json Content-Type: application/json { "snippet": { "categoryId": "1", "description": "Video Description.", "title": "Test video 123" }, "status": { "privacyStatus": "private" } }
PUT https://youtube.googleapis.com/youtube/v3/videos?part=snippet%2Cstatus%2Clocalizations&key=[YOUR_API_KEY] HTTP/1.1 Authorization: Bearer [YOUR_ACCESS_TOKEN] Accept: application/json Content-Type: application/json { "id": "YOUR_VIDEO_ID", "snippet": { "categoryId": 22, "defaultLanguage": "en", "description": "This is sample description", "tags": [ "sample tag1" ], "title": "Sample title" }, "status": { "privacyStatus": "private" }, "localizations": { "es": { "title": "Hello data", "description": "hello description" } } }
YouTube Studio UI具备添加卡片的功能,我希望通过API实现相同操作。
解答
官方API现状
目前YouTube公开的官方API(包括Data API、报告与分析API等)没有提供程序化添加/修改视频卡片的接口。你尝试的视频创建、更新端点(videos.insert、videos.update)确实没有对应字段支持卡片操作,官方文档里也没有相关说明。
间接实现方式
如果想实现类似YouTube Studio的卡片添加功能,开发者常用的两种思路:
- 模拟YouTube Studio内部请求:通过抓包工具获取YouTube Studio网页添加卡片时发送的内部API请求,然后编写脚本模拟这些请求完成操作。但要注意,这类内部API属于未公开接口,Google随时可能修改接口逻辑或限制访问,且这种做法违反YouTube API服务条款,存在账号被封禁的风险。
- 浏览器扩展本地DOM修改:部分浏览器扩展的“添加卡片”只是在本地浏览器渲染时修改页面DOM,并没有真正将卡片数据上传到YouTube服务器。这种方式仅对当前用户可见,无法让其他观众看到视频卡片,且确实存在DOM操作带来的安全风险。
补充说明
你提到的Stack Overflow旧帖里的方法大概率已经失效,因为YouTube的内部API和权限机制这些年有过多次更新,旧方案的兼容性无法保证。
内容的提问来源于stack exchange,提问作者Digital Consultant
相关产品推荐
相关产品推荐

