Dieses Mal werde ich versuchen, eine Liste der Videos meines Kontos auf der Konsole anzuzeigen.
http://silver-shell.org/blog/?p=227 http://qiita.com/ottati/items/f7782bc834847470d4c8
Die Steuerung erfolgt in der Google API Console.
Um die Google-API verwenden zu können, müssen Sie ein "Projekt" erstellen. Wählen Sie "Bibliothek" aus dem linken Menü [https://console.developers.google.com/apis/library] und wählen Sie die YouTube-Daten-API aus. Wählen Sie "Projekt erstellen". (Es gibt andere Möglichkeiten, ein "Projekt" zu erstellen.) Erstellen Sie ein Projekt mit einem geeigneten Namen. Informationen zum Löschen des Projekts finden Sie unter hier.
Wählen Sie "Bibliothek" aus dem linken Menü, Wähle die YouTube-Daten-API aus. Aktiviere die Schaltfläche neben "Youtube API Data v3". Wenn Sie es aktivieren, wird eine Schaltfläche mit dem Namen "Anmeldeinformationen erstellen" angezeigt. Klicken Sie also darauf.
Der gleiche Bildschirm kann auch durch Auswahl von "Anmeldeinformationen" -> "Anmeldeinformationen" -> "Mit Assistent auswählen" angezeigt werden.
"Bestimmen Sie die Art der erforderlichen Anmeldeinformationen" für "YouTube Data API v3" Ändern Sie "API aufrufen" in "Webbrowser (Javascript)". Setzen Sie "Typ der Daten, auf die zugegriffen werden soll" auf "Benutzerdaten". Klicken Sie auf "Erforderliche Anmeldeinformationen".
Geben Sie zur Identifizierung einen geeigneten Namen in Englisch an.
Der genehmigte Umleitungs-URI lautet "http: // localhost: 8080 /". Zu (Dieser Teil kann sich je nach Umgebung ändern. Er kann 8000 oder 8090 sein und funktioniert möglicherweise nicht ohne das letzte "/".)
Klicken Sie auf die Schaltfläche "Herunterladen", um die JSON-Datei herunterzuladen, in der die für Python zu verwendenden Einstellungen beschrieben werden. Sie können es herunterladen, nachdem Sie die Einstellungen hier vorgenommen haben. Der Dateiname kann sich jedoch von dem unterscheiden, als Sie ihn hier heruntergeladen haben. (Gleicher Inhalt mit Ausnahme des Dateinamens) (Diesmal war es eine Datei namens client_id.json.)
Erstellen Sie eine neue virtuelle Python-Umgebung für den Betrieb im Terminal (Eingabeaufforderung für Windows). Diesmal habe ich es youtube genannt.
command
conda create -n youtube python=3.5.3
#Beim Erstellen mit einer Reihe von Anaconda
# conda create -n youtube python=3.5.3 anaconda
#Bei der Überprüfung der erstellten Umgebung
# conda info -e
# conda list -n youtube
#Beim Löschen der erstellten virtuellen Umgebung
# conda remove -n youtube --all
Nachfolgende Arbeiten werden in der virtuellen Umgebung ausgeführt.
command
# Windows
activate youtube
#Deaktivieren
# deactivate
# Mac
source activate youtube
#Deaktivieren
# source deactivate
cmd
conda install -c https://conda.anaconda.org/anaconda django
cmd
pip install --upgrade google-api-python-client
https://github.com/google/oauth2client
cmd
pip install --upgrade oauth2client
http://mikegrouchy.com/blog/2014/06/pro-tip-pip-upgrade-all-python-packages.html
cmd
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
Erstellen Sie ein Verzeichnis, um die Python-Datei zu speichern und die heruntergeladene Datei dorthin zu verschieben.
Dieses Mal erhalten wir eine Liste der hochgeladenen Dateien. Einige Änderungen wurden basierend auf dem Skript "Get My Uploaded Video" unter der folgenden URL vorgenommen.
https://developers.google.com/youtube/v3/code_samples/python?hl=ja#retrieve_my_uploads
Erstellen Sie eine Python-Datei, die das folgende Skript beschreibt. (Diesmal main.py genannt)
main.py
#! env python
# -*- coding: utf-8 -*-
import httplib2
import os
import sys
import glob
from apiclient.discovery import build
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage
from oauth2client.tools import argparser, run_flow
if __name__ == '__main__':
#Ändern Sie das aktuelle Verzeichnis in den Speicherort der ausführbaren Datei
os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
CLIENT_SECRETS_FILE = "client_id.json" #Heruntergeladener Dateiname
MISSING_CLIENT_SECRETS_MESSAGE = """
WARNING: Please configure OAuth 2.0
To make this sample run you will need to populate the client_secrets.json file
found at:
%s
with information from the Developers Console
https://console.developers.google.com/
For more information about the client_secrets.json file format, please visit:
https://developers.google.com/api-client-library/python/guide/aaa_client_secrets
""" % os.path.abspath(os.path.join(os.path.dirname(__file__),
CLIENT_SECRETS_FILE))
YOUTUBE_READONLY_SCOPE = "https://www.googleapis.com/auth/youtube.readonly"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
CLIENT_SECRETS_FILE_PATH = glob.glob(os.path.join(os.getcwd(), CLIENT_SECRETS_FILE))[0]
flow = flow_from_clientsecrets(os.path.join(os.getcwd(), CLIENT_SECRETS_FILE_PATH),
message=MISSING_CLIENT_SECRETS_MESSAGE,
scope=YOUTUBE_READONLY_SCOPE)
storage = Storage("%s-oauth2.json" % sys.argv[0])
credentials = storage.get()
if credentials is None or credentials.invalid:
flags = argparser.parse_args()
credentials = run_flow(flow, storage, flags)
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
http=credentials.authorize(httplib2.Http()))
channels_response = youtube.channels().list(
mine=True,
part="contentDetails"
).execute()
for channel in channels_response["items"]:
uploads_list_id = channel["contentDetails"]["relatedPlaylists"]["uploads"]
print("Videos in list %s" % uploads_list_id)
playlistitems_list_request = youtube.playlistItems().list(
playlistId=uploads_list_id,
part="snippet",
maxResults=50
)
while playlistitems_list_request:
playlistitems_list_response = playlistitems_list_request.execute()
for playlist_item in playlistitems_list_response["items"]:
title = playlist_item["snippet"]["title"]
video_id = playlist_item["snippet"]["resourceId"]["videoId"]
print("%s (%s)" % (title, video_id))
playlistitems_list_request = youtube.playlistItems().list_next(
playlistitems_list_request, playlistitems_list_response)
Bei Ausführung in einem Terminal in einer virtuellen Umgebung (Eingabeaufforderung für Windows)
cmd
cd (Python-Projektverzeichnis)
python main.py
Wenn Sie es zum ersten Mal ausführen, wird der Browser gestartet "(Der Name des Berechtigungsnachweises) fordert die folgende Berechtigung an." Wird angezeigt, geben Sie also die Erlaubnis.
Nach dem Ausführen des obigen Vorgangs wird die Liste der bisher hochgeladenen Videos auf der Konsole angezeigt.
Verschiedene andere Steuerelemente als die Listenanzeige sind möglich. Stellen Sie beim Löschen eines Videos sicher, dass Sie es gründlich überprüfen, bevor Sie dies auf eigenes Risiko tun.
https://developers.google.com/youtube/1.0/developers_guide_python
Recommended Posts