Files

2.3 KiB

Persediaan dan Menjalankan

🌐 English · Dansk · Bahasa Melayu

Apa yang anda perlukan

  • Python 3.13 atau lebih baharu.
  • Untuk langkah 2 hingga 4: akaun Google dan Firefox.

Cipta persekitaran maya

python -m venv .venv

Aktifkannya. Pada Windows PowerShell:

.venv\Scripts\Activate.ps1

Pada Linux dan macOS:

source .venv/bin/activate

Naik taraf pip dan pasang projek:

python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

Cipta browser.json

ytmusicapi tidak mempunyai kunci API. Ia menggunakan semula log masuk pelayar anda, jadi anda menyalin pengepala permintaan bagi sesi yang telah log masuk sekali sahaja.

  1. Buka Firefox dan pergi ke https://music.youtube.com, dalam keadaan telah log masuk.
  2. Buka alat pembangun (Ctrl+Shift+I, pada macOS Cmd+Option+I) dan pilih Network.
  3. Taip browse dalam penapis, pilih satu permintaan browse?... yang berjaya, klik kanan padanya dan pilih Copy Value, kemudian Copy Request Headers.
  4. Jalankan ytmusicapi browser dalam folder projek dan tampal pengepala tersebut. Akhiri dengan Ctrl+D (Ctrl+Z dan Enter pada Windows). Pada macOS jalankan pbpaste | ytmusicapi browser.

Fail ini mengandungi kuki anda: ia diabaikan oleh git dan tidak boleh dikongsi sama sekali. Kuki akan tamat tempoh selepas beberapa lama; ulangi langkah-langkah ini untuk mendapatkan fail yang baharu.

Jika --check-login berkata Expecting value, fail itu mengandungi entri yang bukan pengepala permintaan (salinan daripada Chrome boleh menambah Request URL, Decoded, music.youtube.com, satu laluan atau content-encoding). Salin hanya blok Request Headers, atau gunakan Copy Request Headers Firefox, dan cipta fail itu semula.

Jalankan

python -m musical_time_machine --list-only      # step 1: print the chart
python -m musical_time_machine --check-login    # step 2: count your playlists
python -m musical_time_machine --create-playlist  # step 3: create the playlist
python -m musical_time_machine                  # step 4: the full program

Format tarikh ialah YYYY-MM-DD; gunakan tarikh yang ada pada Bakeboard, contohnya 2026-04-18.

Uji

python -m pytest

Ujian tidak memerlukan rangkaian dan tidak memerlukan akaun.