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

YouTube Data API视频上传成功但无法设置为公开问题求助

问题排查方案

  • 1. 检查Google Cloud项目的YouTube Data API审核状态
    这是该场景下最常见的问题原因:未通过官方公开审核的YouTube Data API项目,所有上传的视频都会被系统强制设置为私有状态,哪怕代码中明确指定privacyStatus: "public"也不会生效。你需要进入Google Cloud控制台的YouTube Data API管理页,提交公开使用申请,填写对应的使用场景,等待官方审核通过后即可正常设置视频公开。
  • 2. 确认授权权限范围是否完整
    你当前的Apps Script项目授权的OAuth权限可能仅包含上传权限,缺少修改视频隐私状态的权限。你可以在项目的appsscript.json清单文件中显式声明完整的YouTube操作权限:
    "oauthScopes": ["https://www.googleapis.com/auth/youtube"]
    
    保存后重新给项目授权即可。
  • 3. 增加错误捕获逻辑确认接口响应
    你当前的代码没有错误捕获逻辑,无法确认status字段是否被API正确接收,可能存在字段不生效的警告但你未收到提示。可以调整上传部分的代码,打印接口返回的完整信息排查问题:
    try {
      const uploadResponse = YouTube.Videos.insert(requestBody, "snippet,status", blob);
      Logger.log("接口返回结果:" + JSON.stringify(uploadResponse));
      // 可以直接查看返回结果里的status.privacyStatus字段是否为你设置的public
    } catch (err) {
      Logger.log("调用接口出错:" + err.message);
    }
    
  • 4. 检查账号权限和视频审核状态
    • 确认你用于调用API的Google账号是目标YouTube频道的所有者/管理员,拥有修改视频公开状态的权限
    • 新上传的视频可能正处于YouTube的合规审核、版权检测阶段,审核完成前会暂时保持私有状态,等待审核结束后会自动切换为你设置的公开状态
  • 5. 修正代码笔误(如果存在)
    你提供的代码里存在变量名笔误:定义的变量是controll,判断条件里写的是contoll(少了一个字母r),如果实际运行的代码也存在该问题,会导致文件匹配失败。你提到视频可以正常上传,可能是粘贴代码时的手误,建议确认下实际代码的变量名是否一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:15:03