HomeBlogTranscribePlansAPI Keys

Transkrypcja YouTube w Google Sheets Jedną Funkcją Niestandardową

Arkusz kalkulacyjny Google Sheets z adresami URL YouTube w jednej kolumnie i pobieranymi transkrypcjami pojawiającymi się w następnej

Uzyskanie transkrypcji YouTube do Google Sheets zajmuje jedną funkcję Apps Script. Wklej raz, a =YT_TRANSCRIPT(A2) działa jak jakakolwiek wbudowana formuła: URL w jednej kolumnie, transkrypcja w następnej. Oto kompletny skrypt, plus dwa specyficzne dla Sheets- gotchas, które Cię gryzną, jeśli nikt Ci nie ostrzega.

Skrypt

Otwórz swój arkusz, przejdź do Extensions > Apps Script i wklej to:

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;
}

Zapisz, a funkcja jest aktywna w Twoim arkuszu. Tag @customfunction to co go rejestruje z autouzupełnianiem; muteHttpExceptions utrzymuje 404 od eksplozji do czerwonej komórki ze śladem stosu, którego nikt nie prosił.

Dla klucza: poproś https://youtube2text.org/api/demo-key w przeglądarce i zwraca {"success": true, "apiKey": "yt_..."} — bezpłatny wspólny klucz, brak konta, ograniczony do 5 filmów na miesiąc na IP. Fajnie do próbowania tego; uzyskaj własny do rzeczywistego użytku.

Używanie go

  1. Umieść adresy URL wideo w kolumnie A — pełne linki, youtu.be krótkie linki, lub gołe 11-znakowe id wszystkie działają.
  2. W B2 wpisz =YT_TRANSCRIPT(A2).
  3. Potrzebujesz więcej czy mniej tekstu? =YT_TRANSCRIPT(A2, 20000) ustawia granicę jawnie.
  4. Przeciągnij formułę w dół kolumny i obserwuj komórki się zapełniają.

Transkrypcje pochodzą z własnych napisów YouTube — ręczny, gdy twórca je przesłał, autogenerowany w innym razie, angielski preferowany z rezerwą na niezależnie jaki język istnieje.

Dlaczego maxChars tu ma większe znaczenie niż gdziekolwiek indziej

Komórka Google Sheets przechowuje maksymalnie 50 000 znaków. To twarda granica platformy, a domyślna granica API 150 000 znaków płynie tuż poza nią — długi odcinek podcastu nie umiałby wylądować w komórce. Tak więc w Sheets zawsze przekazuj maxChars 50000 lub mniej. Ustawiłem skrypt domyślnie na 5000, co obejmuje podsumowania, kontrole słów kluczowych i karmienie formuły AI, bez zamiany arkusza kalkulacyjnego w powieść.

Gotcha ponownego obliczenia

Oto szczera ograniczenie podejścia funkcji niestandardowej: Sheets ponownie uruchamia funkcje niestandardowe, gdy przelicza — włącznie z każdym razem, gdy plik jest otwierany. Każde ponowne uruchomienie to rzeczywiste wywołanie API, więc arkusz z 40 formułami transkrypcji cicho ponownie pobiera 40 filmów przy otwieraniu i zjada Twój kwot na śniadanie. Naprawa jest prosta: gdy transkrypcja się pojawi, zaznacz komórki i wklej je z powrotem jako wartości (Kopiuj, a następnie Wklej specjalne > Tylko wartości). Tekst pozostaje; formuła i jej apetyt idą.

Gdy komórka mówi ERROR

Funkcja zwraca czytelne kody zamiast kruszenia. ERROR: TRANSCRIPT_UNAVAILABLE oznacza, że film w ogóle nie ma napisów — nic do pobrania. ERROR: RATE_LIMIT_EXCEEDED oznacza, że przydział miesięczny klucza wyczerpany, co na wspólnym kluczu demo dzieje się szybko. ERROR: INVALID_URL oznacza, że komórka nie zawiera nic przypominającego wideo YouTube.

Gdzie je zabrać

Arkusz pełny transkrypcji jest zaskakująco dobrym narzędziem badawczym — przechodzę przez ten przepływ pracy w poście badań zawartości. A gdy wyrosną z formuł i chcesz transkrypcje pobierane automatycznie, gdy filmy publikują, przepływ pracy n8n to robi bez użytkownika.

Dla Twojego własnego klucza — brak wspólnego kwotu, brak telefonu, brak karty — zaloguj się za pomocą Google na youtube2text.org/app/keys. Bezpłatnie obejmuje 5 filmów na miesiąc; 5,99 USD uzyskuje 50, 9,99 USD uzyskuje 500, 19,99 USD to nieograniczone. Wklej go do API_KEY i arkusz robi resztę.