如何通过YouTube API将视频设置为「私密共享」状态?
通过YouTube API实现私密视频内部共享的解决方案
要实现网页端那种「私密但可共享给特定用户」的功能,核心是两步:把视频设为私密状态,再给指定用户添加查看权限,以下是具体实现方式(以Java为例):
1. 上传视频时设置私密状态
上传视频时,将视频的privacyStatus设为private,这是共享的基础。示例代码片段:
Video video = new Video(); // 设置视频基本信息 VideoStatus status = new VideoStatus(); status.setPrivacyStatus("private"); // 标记为私密视频 video.setStatus(status); // 填充视频其他信息(标题、描述等) VideoSnippet snippet = new VideoSnippet(); snippet.setTitle("内部共享测试视频"); snippet.setDescription("仅指定用户可查看"); video.setSnippet(snippet); // 调用API上传视频 YouTube.Videos.Insert insertRequest = youtube.videos().insert("snippet,status", video, mediaContent); Video uploadedVideo = insertRequest.execute();
2. 给指定用户添加查看权限
上传完成后,通过permissions.insert接口给目标用户授予查看权限,对应网页端的“添加共享用户”操作:
// 创建权限资源 Permission permission = new Permission(); permission.setType("user"); // 指定权限类型为用户 permission.setValue("target-user@example.com"); // 目标用户的Google账号邮箱 permission.setRole("viewer"); // 授予查看权限(若需编辑权限可设为"owner") // 调用API添加权限 YouTube.Permissions.Insert insertPermissionRequest = youtube.permissions() .insert(uploadedVideo.getId(), permission); Permission resultPermission = insertPermissionRequest.execute();
关键注意事项
- 授权范围:调用API时必须申请
https://www.googleapis.com/auth/youtube.force-ssl权限,否则无法修改视频权限。 - 权限验证:被共享的用户必须拥有对应的Google账号,且邮箱需准确无误。
- 批量共享:若需给多个用户添加权限,可循环调用
permissions.insert接口,或批量提交请求。
内容的提问来源于stack exchange,提问作者kusokamayarou
相关产品推荐
相关产品推荐

