Transkrip YouTube di Google Sheets Dengan Satu Fungsi Kustom

Mendapatkan transkrip YouTube ke Google Sheets membutuhkan satu fungsi Apps Script. Tempel sekali, dan =YT_TRANSCRIPT(A2) bekerja seperti formula bawaan apa pun: URL di satu kolom, transkrip di kolom berikutnya. Berikut adalah skrip lengkap, ditambah dua gotcha khusus Sheets yang akan menggigit Anda jika tidak ada yang memperingatkan Anda.
Skrip
Buka spreadsheet Anda, buka Extensions > Apps Script, dan tempel ini:
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;
}
Simpan, dan fungsi aktif di sheet Anda. Tag @customfunction adalah apa yang mendaftarkannya dengan autocomplete; muteHttpExceptions menjaga 404 dari meledak menjadi sel merah dengan stack trace yang tidak diminta siapa pun.
Untuk kunci: minta https://youtube2text.org/api/demo-key di browser Anda dan itu mengembalikan {"success": true, "apiKey": "yt_..."} — kunci bersama gratis, tidak ada akun, terbatas pada 5 video per bulan per IP. Baik untuk mencoba ini; dapatkan milik Anda sendiri untuk penggunaan nyata.
Menggunakannya
- Masukkan URL video di kolom A — tautan lengkap, tautan pendek
youtu.be, atau id 11 karakter bare semuanya berfungsi. - Di B2, ketik
=YT_TRANSCRIPT(A2). - Butuh lebih atau kurang teks?
=YT_TRANSCRIPT(A2, 20000)menetapkan batas secara eksplisit. - Seret formula ke bawah kolom dan tonton sel terisi.
Transkrip berasal dari caption YouTube sendiri — manual ketika kreator mengunggahnya, auto-generated jika tidak, Bahasa Inggris disukai dengan fallback ke bahasa apa pun yang ada.
Mengapa maxChars penting di sini lebih dari di tempat lain
Sel Google Sheets menampung maksimal 50.000 karakter. Itu adalah batas platform keras, dan batas default API sebesar 150.000 karakter berlayar tepat melewatinya — episode podcast yang panjang akan gagal mendarat di sel. Jadi di Sheets, selalu berikan maxChars dari 50000 atau kurang. Saya standar skrip ke 5000, yang mencakup ringkasan, pemeriksaan kata kunci, dan memberi makan formula AI, tanpa mengubah spreadsheet Anda menjadi novel.
Gotcha perhitungan ulang
Berikut adalah batasan jujur dari pendekatan fungsi kustom: Sheets menjalankan ulang fungsi kustom setiap kali direkalkuasi — termasuk setiap kali file dibuka kembali. Setiap re-run adalah panggilan API nyata, jadi sheet dengan 40 formula transkrip diam-diam re-fetch 40 video pada pembukaan dan memakan kuota Anda untuk sarapan. Perbaikannya sederhana: setelah transkrip tiba, pilih sel dan tempel kembali sebagai nilai (Salin, kemudian Paste special > Nilai saja). Teks tetap; rumusnya, dan nafsu makannya, hilang.
Ketika sel mengatakan ERROR
Fungsi mengembalikan kode yang dapat dibaca alih-alih crash. ERROR: TRANSCRIPT_UNAVAILABLE berarti video tidak memiliki caption sama sekali — tidak ada yang diambil. ERROR: RATE_LIMIT_EXCEEDED berarti kuota bulanan kunci habis, yang pada kunci demo bersama terjadi dengan cepat. ERROR: INVALID_URL berarti sel tidak berisi apa pun yang menyerupai video YouTube.
Kemana membawanya
Sheet penuh dengan transkrip adalah alat penelitian yang sangat bagus — saya berjalan melalui alur kerja itu dalam posting penelitian konten. Dan ketika Anda melampaui rumus dan menginginkan transkrip diambil secara otomatis saat video diterbitkan, alur kerja n8n melakukannya tanpa tangan.
Untuk kunci Anda sendiri — tanpa kuota bersama, tanpa telepon, tanpa kartu — masuk dengan Google di youtube2text.org/app/keys. Gratis mencakup 5 video sebulan; $5,99 mendapat 50, $9,99 mendapat 500, $19,99 unlimited. Tempel ke API_KEY dan sheet melakukan sisanya.