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

Google Workspace账号首次通过Apps Script调用YouTube API遭遇配额超限错误求助

解决Google Workspace账号下Apps Script调用YouTube API的配额错误问题

我之前碰到过几乎一模一样的Workspace账号API配额坑,给你梳理下解决思路和细节:

核心问题根源

你的Workspace账号下的Apps Script默认绑定了组织的公用项目(就是那个northern-math-286006),这个项目的YouTube API配额要么被组织内其他用户耗尽了,要么是管理员设置了严格的配额限制,导致你调用时直接触发报错。而个人账号的Apps Script是绑定你自己的专属项目,配额独立所以没这个问题。

分步解决方案

  • 步骤1:确认当前Apps Script绑定的GCP项目
    打开你的Apps Script编辑器,点击右上角的齿轮图标进入设置,找到「Google Cloud Platform (GCP) 项目」选项,你应该能看到当前绑定的就是那个northern-math-286006项目。

  • 步骤2:创建并绑定自定义GCP项目

    1. 用你的Workspace账号登录GCP控制台,创建一个全新的专属项目
    2. 在新项目里搜索并启用「YouTube Data API v3」
    3. 回到Apps Script设置页面,点击「更改项目」,输入你刚创建的新项目ID完成绑定
      这样你的API调用就会使用这个新项目的独立配额,和组织默认项目彻底隔离开。
  • 步骤3:验证配额使用情况
    绑定新项目后,再去查看YouTube API的配额页面,就能看到你自己的调用消耗数据了,不会再显示「No data is available」的空白内容。

顺便优化下你的代码

你的代码里有两个小细节可以修正,虽然不影响配额,但能让逻辑更准确:

function getVids() { 
  var list = YouTube.Search.list('id,snippet', { channelId: 'UCYf_kU_HoMOUUe3hW-0ou5Q', maxResults: 25 }) 
  // 这行完全多余,YouTube API返回的已经是可直接使用的对象,不需要JSON.parse
  // var json = JSON.parse(list); 
  var items = list.items; 
  var allVideos = []; 
  // 循环从i=0开始,不然会漏掉第一个视频
  for (var i=0; i<items.length;i++) { 
    // 直接用items[i],不用重复写list.items[i],更简洁
    var videoId = items[i].id.videoId; 
    allVideos.push(videoId); 
  } 
  console.log(allVideos) 
}

调整后不仅代码更高效,还能确保获取到所有25个视频ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 04:57:44