• 04-04-2024, 03:43:05
    #1
    merhaba değerli arkadasşlar bugün kendim yazdıgım kod ile youtube kanalinize giriş yapmadan otomatik bir şekilde google api kullanarak videolarınıız otomaik ve seri bir şekilde yükleyebileceksiniz.

    öncelikle bu kütüphaneleri kurmanız gerekmektedir

    pip install google-auth google-auth-oauthlib google-auth-httplib2
    pip install google-api-python-client
    Kütüphaneleri kurduktan sonra bu kodu youtube.py olarak kaydedin.

    import os
    import google.oauth2.credentials
    from google.auth.transport.requests import Request
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    import googleapiclient.errors
    
    # Bu fonksiyon, Google API'ye erişim için yetkilendirme sağlar
    def get_authenticated_service():
        creds = None
        # Erişim tokenlarını diskte depolamak için dosya yolu
        token_path = 'token.json'
    
        # Eğer daha önce yetkilendirme yapılmışsa, onu yükle
        if os.path.exists(token_path):
            creds = google.oauth2.credentials.Credentials.from_authorized_user_file(token_path)
    
        # Token geçerli değilse veya yoksa, kullanıcıyı yetkilendir
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'client_secrets.json',
                    ['https://www.googleapis.com/auth/youtube.upload']
                )
                creds = flow.run_local_server(port=0)
    
            # Yetkilendirme bilgilerini diske kaydet
            with open(token_path, 'w') as token:
                token.write(creds.to_json())
    
        # Yetkilendirilmiş bir YouTube servisi döndür
        return build('youtube', 'v3', credentials=creds)
    
    def upload_video(youtube, file, title, description):
        request_body = {
            'snippet': {
                'title': title,
                'description': description,
            },
            'status': {
                'privacyStatus': 'public'  # Video'nun gizlilik durumu: 'public', 'private', veya 'unlisted'
            }
        }
    
        # Video yükleme isteği yap
        try:
            response = youtube.videos().insert(
                part='snippet,status',
                body=request_body,
                media_body=file
            ).execute()
    
            video_id = response['id']
            print(f"Video başarıyla yüklendi. Video ID: {video_id}")
        except googleapiclient.errors.HttpError as e:
            print(f"Hata: {e}")
            return None
    
    # Google API'ye erişim için yetkilendirilmiş bir servis oluştur
    youtube_service = get_authenticated_service()
    
    # Yüklemek istediğiniz video dosyasının yolu
    video_file_path = 'video.mp4'
    
    # Videoyu yükle
    upload_video(
        youtube_service,
        video_file_path,
        title='Yüklediğiniz Video Başlığı',
        description='Yüklediğiniz Video Açıklaması'
    )
    kodu kullanmanız için google hesabınıza girerek Oauth token oluşturmaniz gerekmektedir. eğer bilmiyorsanı bu video izleyerek yapabilirsiniz.

    https://www.youtube.com/watch?v=aFwZgth790Q&t=1229s



    oluşturdugunuz Oauth oken dosyasını indirip ismini "client_secrets.json" olarak değiştirin youtube.py olan dosyanın içine koyun ve kodunuzu çalişirip google sayfası açılacaktır yetki vereceksiniz. artik sizde youtube kanaliniza girmeden videolarınız otomatik bir şekilde yükleyebileceksiniz.
  • 04-04-2024, 04:48:18
    #2
    hocam videolar private olarak yayınlanıyor diye biliyorum