In diesem Artikel werden wir über die Youtube-Abonnements diskutieren. Wie API verwendet werden kann, um diese Abonnements abzurufen und zu bearbeiten.

Es gibt drei Operationen, die wir diskutieren werden:

  1. Listen Sie alle Abonnements auf, die einem Youtube-Kanal zugeordnet sind
  2. Fügen Sie ein neues Abonnement ein
  3. Abonnement löschen.

Für all diese Methoden ist eine Autorisierung des Benutzers erforderlich. Daher werden wir zunächst diskutieren, wie Sie einen OAuth-Berechtigungsnachweis erhalten.
Führen Sie die folgenden Schritte aus, um eine Client-ID und einen geheimen Schlüssel zu generieren.

  1. Zum Google Google Developers Console und klicken Sie auf Anmelden in der rechten oberen Ecke Ecke der Seite. Melden Sie sich mit den Anmeldeinformationen des gültigen Google-Kontos an. Wenn Sie kein Google-Konto haben, richten Sie zuerst ein Konto ein und melden Sie sich dann anhand der Details auf der Google Developers Homepage an.
  2. Navigieren Sie nun zum Entwickler-Dashboard und erstellen Sie ein neues Projekt.
  3. Klicken Sie auf die Option API aktivieren .
  4. Suchen Sie im Suchfeld nach Youtube Data API und wählen Sie die Option Youtube Data API aus, die in der Dropdown-Liste enthalten ist.
  5. Sie werden zu einem Bildschirm weitergeleitet, der Informationen zur Youtube-Daten-API sowie zwei Optionen enthält: ENABLE- und TRY-API .
  6. Klicken Sie auf die Option AKTIVIEREN , um mit der API zu beginnen.
  7. Wählen Sie in der Seitenleiste unter APIs & Services die Option Anmeldeinformationen aus .
  8. Wählen Sie oben auf der Seite die Registerkarte OAuth-Zustimmungsbildschirm . Wählen Sie eine E-Mail-Adresse aus, geben Sie einen Produktnamen ein, falls dieser noch nicht festgelegt ist, und klicken Sie auf die Schaltfläche Speichern.
  9. Wählen Sie auf der Registerkarte Anmeldeinformationen die Dropdown-Liste Anmeldeinformationen erstellen aus und wählen Sie OAuth-Client-ID . OAuth wird im Allgemeinen verwendet, wenn eine Autorisierung erforderlich ist, wie beim Abrufen beliebter Videos eines Benutzers.
  10. Wählen Sie den Anwendungstyp Andere aus, geben Sie den Namen "YouTube Data API Myvideos" ein und klicken Sie auf die Schaltfläche "Erstellen".
  11. OK klicken.
  12. Klicken Sie rechts neben der Client-ID auf die Schaltfläche Herunterladen, um die JSON-Datei herunterzuladen.
  13. Speichern Sie die Datei, benennen Sie sie in client_secret.json um und verschieben Sie sie in das Arbeitsverzeichnis.

Installieren Sie zusätzliche Bibliotheken mit dem Befehl pip :

pip install –upgrade google-auth google-auth-oauthlib google-auth-httplib2



Hinweis: Lassen Sie uns diskutieren, wie Sie die Kanal-ID finden, um sie als Parameter im ersten Code zu verwenden - um alle Abonnements aufzulisten, die einer Youtube-Kanal-ID zugeordnet sind.

Führen Sie die folgenden Schritte aus, um die Kanal-ID zu ermitteln:

  1. Melde dich in deinem Youtube-Konto an.
  2. Klicken Sie in der oberen linken Ecke auf das dreizeilige Symbol und gehen Sie zu Einstellungen.
  3. Jetzt wird im selben Menü auf der linken Seite die Option der erweiterten Einstellungen angezeigt.
  4. Sie sehen Ihre Kanal-ID unter Kontoinformationen .

Code zum Auflisten von Abonnements: Hier sind drei Möglichkeiten, um diese Aufgabe auszuführen. Wir werden diese im Detail diskutieren.

  1. Listen Sie Abonnements auf, die einer Kanal-ID zugeordnet sind
  2. Abonnements des eigenen Kontos auflisten
  3. Überprüfen Sie, ob ein gewünschtes Abonnement vorhanden ist oder nicht

Code zum Auflisten aller Abonnements, die einer Kanal-ID zugeordnet sind: Dieses Beispiel zeigt, wie die Kanal-ID als Parameter zum Abrufen aller Abonnements für diesen bestimmten Youtube-Kanal verwendet werden kann.

import os 
import google.oauth2.credentials 
import google_auth_oauthlib.flow 
from googleapiclient.discovery import build 
from googleapiclient.errors import HttpError 
from google_auth_oauthlib.flow import InstalledAppFlow 
  
CLIENT_SECRETS_FILE = "client_secret.json"
  
SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl'] 
API_SERVICE_NAME = 'youtube'
API_VERSION = 'v3'
  
def get_authenticated_service(): 
  flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES) 
  credentials = flow.run_console() 
  return build(API_SERVICE_NAME, API_VERSION, credentials = credentials) 
  
def print_response(response): 
  print(response) 
  
def build_resource(properties): 
  resource = {} 
  for p in properties: 
    
    
    
    prop_array = p.split('.') 
    ref = resource 
    for pa in range(0, len(prop_array)): 
      is_array = False
      key = prop_array[pa] 
  
      
      
      
      if key[-2:] == '[]': 
        key = key[0:len(key)-2:] 
        is_array = True
  
      if pa == (len(prop_array) - 1): 
        
        
        if properties[p]: 
          if is_array: 
            ref[key] = properties[p].split(', ') 
          else: 
            ref[key] = properties[p] 
      elif key not in ref: 
        
        
        
        
        
        
        ref[key] = {} 
        ref = ref[key] 
      else: 
        
        
        ref = ref[key] 
  return resource 
  
def remove_empty_kwargs(**kwargs): 
  good_kwargs = {} 
  if kwargs is not None: 
    for key, value in kwargs.items(): 
      if value: 
        good_kwargs[key] = value 
  return good_kwargs 
  
def subscriptions_list_by_channel_id(client, **kwargs): 
  kwargs = remove_empty_kwargs(**kwargs) 
  
  response = client.subscriptions().list(**kwargs).execute() 
  
  return print_response(response) 
  
  
if __name__ == '__main__': 
  
  
  os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'
  client = get_authenticated_service() 
    
  subscriptions_list_by_channel_id(client, 
    part ='snippet, contentDetails', 
    channelId ='UCqoMU8lNdUq63ZmTJFd620w', 
    maxResults = 3) 

Ausgabe:

Während der Ausführung des Codes werden Sie nach dem Autorisierungscode gefragt. Um den Code zu erhalten, müssen Sie dem im Eingabeaufforderungsbildschirm über der Zeile angegebenen Link folgen: Geben Sie den Autorisierungscode ein.

Folgen Sie nun dem Link und kopieren Sie den Autorisierungscode, den Sie durch Erteilen der Berechtigung erhalten.

Wir haben den Parameter maxResults auf 3 gesetzt, dh warum in der Ausgabe nur die drei wichtigsten Abonnementnamen angezeigt werden. Sie können jedoch anhand des totalResulst- Werts 38 erkennen, was bedeutet, dass sich im zugeordneten Kanal insgesamt 38 Abonnements befinden.

 
Referenzen: https://developers.google.com/youtube/v3/docs/subscriptions

Geeks-Digest-Img