Çözüldü Txt dosyasındaki müzik listesi YouTube'a nasıl aktarılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Çözüm
Python:
import os
import pickle
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.discovery import build

credentials = None
if os.path.exists("giristokeni.pickle"):
    print("Token dosya üzerinden alınıyor...")
    with open("giristokeni.pickle", "rb") as token:
        credentials = pickle.load(token)

if not credentials or not credentials.valid:
    if credentials and credentials.expired and credentials.refresh_token:
        print("Token yenileme...")
        credentials.refresh(Request())
    else:
        print("Yeni Token oluşturma")
        flow = InstalledAppFlow.from_client_secrets_file("client_secret.json", scopes=["https://www.googleapis.com/auth/youtube.force-ssl"])
        flow.run_local_server(port=1453, authorization_prompt_message="consent")

        credentials = flow.credentials
      
        with open("giristokeni.pickle", "wb") as f:
            print("Token Kaydediliyor")
            pickle.dump(credentials, f)


youtube = build("youtube", "v3", credentials=credentials)

def youtube_search(query):
    request = youtube.search().list(
        q=query,
        part='id',
        maxResults=1
    )
    response = request.execute()
    video_id = response['items'][0]['id']['videoId']
    return video_id

def add_video_to_playlist(video_id, playlist_id):
    request = youtube.playlistItems().insert(
        part="snippet",
        body={
            "snippet": {
                "playlistId": playlist_id,
                "resourceId": {
                    "kind": "youtube#video",
                    "videoId": video_id
                }
            }
        }
    )
    response = request.execute()
    print(f"Video Playlist'e eklendi. Başlık: {response['snippet']['title']}")


if __name__ == "__main__":
    playlistid=""
    with open("songs.txt", 'r', encoding='utf-8') as file:
        for line in file:
            song_name = line.strip()
            video_id = youtube_search(song_name)
            add_video_to_playlist(video_id, playlistid)

Öncelikle google cloud üzerinden bir proje oluşturmanız ve Outh 2.0 adımlarını tamamlayıp google hemen onay vermeyeceği için giriş yapacağınız e-postayı test kullanıcısı olarak eklemeniz gerekmekte.
z (1).png

Burada YT API'sini etkinleştiriyoruz.

z (2).png

Bu kısımda ise uygulamanın gereksinimini seçiyoruz
z (3).png



Tüm bunları yapınca bize bir client_secret_xxx.json şeklinde bir dosya verecek. O dosyayı indirip proje dizinine client_secret.json şeklinde isimlendirip atıyoruz.
Sonrasında ise songs.txt adındaki dosyamızı da program içeriğine atıyoruz ve programı Python ile başlatıyoruz.

Kullandığım kütüphaneleri indirmek için: pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

venv
ortamı oluşturmanızı öneririm.

Tamam teşekkürler. Bilgisayar biraz eski dosya biraz uzun herhangi bir sorun çıkmaz değil mi?

Bir de mesela listede müziklerde isimlerde harf hataları var.
Örneğin.
www.mp3lere.com - selda bagcan - don gel birtan.mp3 6246528 F:\?\
Kurtarma programı ile isimleri kurtadığım için sonlarında bir şeyler var.
Ya da böyle.
Öykü&_berk-_seni_ben_unutmak_istemedim_ki396174.mp3 4067044 F:\?\
Bunlar sorun çıkarır mı? Silmeyi denedim ama fazla olunca pes ettim.
bu program youtube arama çubuğunu kullanıyor gibi düşün eğer o arama yt üzerinde de çıkıyorsa ekler. fakat gördüğüm kadarıyla sonunda hep mp3 var gibi bu yüzden mp3 kısımlarından sonra gelenleri silebilirsiniz.
Bilgisayarın eski olmasına gelirsek dosya çok aşırı büyük olmadığı sürece bir problem olmayacaktır. bahsettiğim txt dosyasının 100-200mb şeklinde olması. :D

1712673513486.png

Aradığım zaman bir sıkıntı çıkmıyor gibi gözüküyor.
Rahatsız ettim de bilgisayara hangi programları indireceğim pek bildiğim şeyler değil de.
VS Code:
Python:
 
Python’ın farklı projelerde karışmamasını sağlar. VS Code içinde Python eklentisini yüklerseniz o sizin yerinize otomatik venv’i oluşturabileceğiniz bir kolaylık sağlar.
 
Python'ın farklı projelerde karışmamasını sağlar. VS Code içinde Python eklentisini yüklerseniz o sizin yerinize otomatik Venv'i oluşturabileceğiniz bir kolaylık sağlar.

Uzun bir süre sonra tekrardan bir şey sormak istiyorum Python'i indirsem v
vs codu indirmesem kodları not defterine yapistirip Python olarak kaydedsem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 Merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?
 
Son düzenleme:
Uzun bir süre sonra tekrardan bir şey sormak istiyorum Python'i indirsem v
vs codu indirmesem kodları not defterine yapistirip Python olarak kaydedsem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 Merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?
Kodları not defteri ile de yapıştırabilirsiniz. Fakat vscode zaten düşük boyutlu bir uygulama kullanımının neredeyse notepad’den farkı yok. Txt dosyasını Drive gibi bir yere yükleyip buradan paylaşın eğer vaktim olursa akşam ilgilenebilirim.
 
Kodları not defteri ile de yapıştırabilirsiniz. Fakat vscode zaten düşük boyutlu bir uygulama kullanımının neredeyse notepad’den farkı yok. Txt dosyasını Drive gibi bir yere yükleyip buradan paylaşın eğer vaktim olursa akşam ilgilenebilirim.

list.txt
Kodları not defteri ile de yapıştırabilirsiniz. Fakat vscode zaten düşük boyutlu bir uygulama kullanımının neredeyse notepad’den farkı yok. Txt dosyasını Drive gibi bir yere yükleyip buradan paylaşın eğer vaktim olursa akşam ilgilenebilirim.
Halllettim
 
Son düzenleme:

Geri
Yukarı