Führe die im Folgenden beschriebenen Schritte aus. Innerhalb von etwa fünf Minuten erhältst du eine einfache Ruby-Befehlszeilenanwendung, die Anfragen an die YouTube Data API sendet.
Der in diesem Leitfaden verwendete Beispielcode ruft die Ressourcechannel
für den YouTube-Kanal von GoogleDevelopers ab und gibt einige grundlegende Informationen aus dieser Ressource aus.
Voraussetzungen
Für diese Kurzanleitung benötigen Sie Folgendes:
- Ruby 2.0 oder höher.
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google-Konto.
Schritt 1: YouTube Data API aktivieren
-
Verwenden Sie diesen Assistenten, um ein Projekt in der Google Developers Console zu erstellen oder auszuwählen und die API automatisch zu aktivieren. Klicken Sie auf Weiter und dann auf Zu den Anmeldedaten.
-
Klicken Sie auf der Seite Anmeldedaten erstellen auf die Schaltfläche Abbrechen.
-
Klicken Sie oben auf der Seite auf den Tab OAuth-Zustimmungsbildschirm. Wählen Sie eine E-Mail-Adresse aus, geben Sie einen Produktnamen ein, falls noch nicht geschehen, und klicken Sie auf die Schaltfläche Speichern.
-
Wählen Sie den Tab Anmeldedaten aus, klicken Sie auf die Schaltfläche Anmeldedaten erstellen und wählen Sie OAuth-Client-ID aus.
-
Wählen Sie den Anwendungstyp Sonstiges aus, geben Sie den Namen „YouTube Data API-Kurzanleitung“ ein und klicken Sie auf die Schaltfläche Erstellen.
-
Klicken Sie auf OK, um das Dialogfeld zu schließen.
-
Klicken Sie rechts neben der Client-ID auf die Schaltfläche
(JSON herunterladen). -
Verschieben Sie die heruntergeladene Datei in Ihr Arbeitsverzeichnis und benennen Sie sie in
client_secret.json
um.
Schritt 2: Google-Clientbibliothek installieren
Führen Sie den folgenden Befehl aus, um die Bibliothek zu installieren:
gem install google-api-client
Alternative Installationsoptionen finden Sie auf der Installationsseite der Bibliothek.
Schritt 3: Beispiel einrichten
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen quickstart.rb
und kopieren Sie den folgenden Code:
# Sample Ruby code for user authorization require 'rubygems' gem 'google-api-client', '>0.7' require 'google/apis' require 'google/apis/youtube_v3' require 'googleauth' require 'googleauth/stores/file_token_store' require 'fileutils' require 'json' # REPLACE WITH VALID REDIRECT_URI FOR YOUR CLIENT REDIRECT_URI = 'http://localhost' APPLICATION_NAME = 'YouTube Data API Ruby Tests' # REPLACE WITH NAME/LOCATION OF YOUR client_secrets.json FILE CLIENT_SECRETS_PATH = 'client_secret.json' # REPLACE FINAL ARGUMENT WITH FILE WHERE CREDENTIALS WILL BE STORED CREDENTIALS_PATH = File.join(Dir.home, '.credentials', "youtube-quickstart-ruby-credentials.yaml") # SCOPE FOR WHICH THIS SCRIPT REQUESTS AUTHORIZATION SCOPE = Google::Apis::YoutubeV3::AUTH_YOUTUBE_READONLY def authorize FileUtils.mkdir_p(File.dirname(CREDENTIALS_PATH)) client_id = Google::Auth::ClientId.from_file(CLIENT_SECRETS_PATH) token_store = Google::Auth::Stores::FileTokenStore.new(file: CREDENTIALS_PATH) authorizer = Google::Auth::UserAuthorizer.new( client_id, SCOPE, token_store) user_id = 'default' credentials = authorizer.get_credentials(user_id) if credentials.nil? url = authorizer.get_authorization_url(base_url: REDIRECT_URI) puts "Open the following URL in the browser and enter the " + "resulting code after authorization" puts url code = gets credentials = authorizer.get_and_store_credentials_from_code( user_id: user_id, code: code, base_url: REDIRECT_URI) end credentials end # Initialize the API service = Google::Apis::YoutubeV3::YouTubeService.new service.client_options.application_name = APPLICATION_NAME service.authorization = authorize # Sample ruby code for channels.list def channels_list_by_username(service, part, **params) response = service.list_channels(part, params).to_json item = JSON.parse(response).fetch("items")[0] puts ("This channel's ID is #{item.fetch("id")}. " + "Its title is '#{item.fetch("snippet").fetch("title")}', and it has " + "#{item.fetch("statistics").fetch("viewCount")} views.") end channels_list_by_username(service, 'snippet,contentDetails,statistics', for_username: 'GoogleDevelopers')
Schritt 4: Beispiel ausführen
Führen Sie das Beispiel mit dem folgenden Befehl aus:
ruby quickstart.rb
Wenn Sie das Beispiel zum ersten Mal ausführen, werden Sie aufgefordert, den Zugriff zu autorisieren:
Im Beispiel wird versucht, ein neues Fenster oder einen neuen Tab in Ihrem Standardbrowser zu öffnen. Wenn dies nicht funktioniert, kopieren Sie die URL aus der Konsole und öffnen Sie sie manuell in Ihrem Browser.
Wenn Sie noch nicht in Ihrem Google-Konto angemeldet sind, werden Sie dazu aufgefordert. Wenn Sie in mehreren Google-Konten angemeldet sind, werden Sie aufgefordert, ein Konto für die Autorisierung auszuwählen.
- Klicken Sie auf die Schaltfläche Akzeptieren.
Kopieren Sie den Code, fügen Sie ihn in die Befehlszeile ein und drücken Sie die Eingabetaste. Der Code kann in der URL der Seite angezeigt werden, auf die Sie nach der Autorisierung weitergeleitet werden:
http://localhost/?code=4/nr_1TspmmQPFyifh7nz...OFo#
Hinweise
- Die Autorisierungsinformationen werden im Dateisystem gespeichert, sodass nachfolgende Ausführungen keine Autorisierung erfordern.
- Der Autorisierungsablauf in diesem Beispiel ist für eine Befehlszeilenanwendung vorgesehen. Informationen zum Ausführen der Autorisierung in einer Webanwendung finden Sie unter OAuth 2.0 für Webserveranwendungen verwenden.