如何为现有Google项目添加YouTube Data API v3授权范围及权限疑问
问题解答
一、不破坏现有进程的前提下扩展OAuth权限范围
Google OAuth2的权限范围是在授权请求阶段指定的,开发者控制台的权限列表仅用于展示和合规提示,无需在控制台手动添加。要扩展现有授权权限,无需新建客户端或项目,按以下步骤操作:
- 修改授权请求代码中的权限范围,在原有
https://www.googleapis.com/auth/youtube.readonly基础上,添加所需的写权限范围(二选一即可),同时保留原有只读范围,示例:https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtube.force-ssl - 针对无头环境,使用离线授权模式生成新的授权URL,通过Chrome Headless等无头浏览器工具,或远程获取授权码(将URL发送至有浏览器的设备,手动授权后提取授权码),拿到包含新权限的授权码。
- 用该授权码交换新的刷新令牌,更新到内部数据库替换原有令牌。原客户端ID/Secret无需变更,现有进程可直接使用新令牌,同时支持原有只读操作和新增的直播结束操作。
- 注意:必须保留原有只读范围,避免影响依赖该权限的现有业务流程。
二、readonly权限对修改操作的影响及客户端选择
youtube.readonly权限仅允许读取数据,完全无法执行修改类操作(包括liveBroadcasts->transform()这类结束直播的写操作),权限名称无误导性,官方文档明确其为只读权限集。- 无需分别使用两个客户端:扩展现有令牌的权限范围,使其同时包含
readonly和写权限(推荐选youtube.force-ssl,该权限为受限写权限,仅允许通过SSL执行修改操作,比全量youtube权限更安全),同一个令牌即可满足所有操作需求,避免维护多客户端的繁琐。
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

