HomeBlogTranscribePlansAPI Keys

用一个自定义函数在 Google Sheets 中获取 YouTube 转录文本

Google Sheets 电子表格,在一列中有 YouTube URL,获取的转录文本显示在下一列

将 YouTube 转录文本放入 Google Sheets 只需一个 Apps Script 函数。粘贴一次,=YT_TRANSCRIPT(A2) 像任何内置公式一样工作:一列中的 URL,下一列中的转录文本。这是完整的脚本,加上两个 Google Sheets 特定的陷阱,如果没有人警告你会咬你。

脚本

打开你的电子表格,转到扩展程序 > Apps Script,粘贴这个:

const API_KEY = 'yt_YOUR_KEY';

/**
 * Fetches the transcript of a YouTube video.
 * @param {string} url Any YouTube URL or a bare 11-char video id.
 * @param {number} maxChars Optional length cap (default 5000).
 * @return {string} The transcript text.
 * @customfunction
 */
function YT_TRANSCRIPT(url, maxChars) {
  if (!url) return '';
  const endpoint = 'https://youtube2text.org/api/transcribe'
    + '?url=' + encodeURIComponent(url)
    + '&maxChars=' + (maxChars || 5000);
  const response = UrlFetchApp.fetch(endpoint, {
    headers: { 'x-api-key': API_KEY },
    muteHttpExceptions: true
  });
  const body = JSON.parse(response.getContentText());
  if (body.error) return 'ERROR: ' + body.error.code;
  return body.result.content;
}

保存,函数在你的表中是活的。@customfunction 标签是它与自动完成注册的东西;muteHttpExceptions 保持一个 404 不会爆炸成一个没人要求的红色单元格的栈跟踪。

对于密钥:在你的浏览器中请求 https://youtube2text.org/api/demo-key,它递回 {"success": true, "apiKey": "yt_..."}——一个免费共享密钥、无账户、每个 IP 每月限制 5 个视频。对于尝试这个很好;对于真实用途得到你自己的。

使用它

  1. 将视频 URL 放在 A 列中——完整链接、youtu.be 短链接或裸露的 11 字符 id 都可以。
  2. 在 B2 中,输入 =YT_TRANSCRIPT(A2)
  3. 需要更多或更少文本?=YT_TRANSCRIPT(A2, 20000) 显式设置上限。
  4. 向下拖动公式在列中看着单元格填充。

转录文本来自 YouTube 的字幕——手动当创作者上传它们时、自动生成否则、优先英文,对存在的任何语言有回退。

为什么 maxChars 在这里比任何地方都更重要

Google Sheets 单元格最多容纳 50000 个字符。这是一个硬平台限制,API 的 150000 字符默认上限远超过它——一个长播客剧集会无法到达单元格。所以在 Sheets 中,总是传递 maxChars 50000 或更少。我将脚本默认设置为 5000,涵盖摘要、关键字检查和馈送 AI 公式,而不会把你的电子表格变成小说。

重新计算陷阱

这是自定义函数方法的诚实限制:Sheets 在它重新计算时重新运行自定义函数——包括每次文件重新打开时。每次重新运行是真实的 API 调用,所以一个有 40 个转录文本公式的表会在打开时悄悄重新获取 40 个视频并吃掉你的配额早餐。修复很简单:一旦转录文本到达,选择单元格并将它们粘贴回作为值(复制,然后粘贴特殊 > 仅值)。文本保留;公式及其胃口,去掉。

当单元格说 ERROR

函数返回可读的代码而不是崩溃。ERROR: TRANSCRIPT_UNAVAILABLE 意味着视频根本没有字幕——没有东西要获取。ERROR: RATE_LIMIT_EXCEEDED 意味着密钥的月配额用完了,在共享演示密钥上发生得很快。ERROR: INVALID_URL 意味着单元格不包含任何类似 YouTube 视频的东西。

何处拿去

一个转录文本满满的表是一个惊人好的研究工具——我在内容研究文章中走了那个工作流。当你超越公式并想在视频发布时自动获取转录文本时,n8n 工作流是无需动手的。

对于你自己的密钥——无共享配额、无电话、无卡——在 youtube2text.org/app/keys 用 Google 登录。免费涵盖每月 5 个视频;5.99 美元得到 50,9.99 美元得到 500,19.99 美元是无限。粘贴它到 API_KEY 表完成其余。