Cette fois, je vais essayer d'afficher une liste de vidéos de mon compte sur la console.
http://silver-shell.org/blog/?p=227 http://qiita.com/ottati/items/f7782bc834847470d4c8
Le contrôle se fait dans la Google API Console.
Pour utiliser l'API Google, vous devez créer un "projet". Sélectionnez "Bibliothèque" dans le menu de gauche [https://console.developers.google.com/apis/library) et sélectionnez l'API de données YouTube. Sélectionnez "Créer un projet". (Il existe d'autres façons de créer un "projet") Créez un projet avec un nom approprié. Veuillez consulter ici pour supprimer le projet.
Sélectionnez "Bibliothèque" dans le menu de gauche, Sélectionnez l'API de données YouTube. Activez le bouton à côté de "Youtube API Data v3". Si vous l'activez, il y aura un bouton appelé "Créer des informations d'identification", alors cliquez dessus.
Le même écran peut également être affiché en sélectionnant "Credentials" -> "Credentials" -> "Select with Wizard".
"Déterminez le type d'informations d'identification requises" pour "YouTube Data API v3" Remplacez "où appeler l'API" par "navigateur Web (Javascript)" Réglez "Type de données à accéder" sur "Données utilisateur" Cliquez sur "Informations d'identification requises".
Donnez un nom approprié en anglais pour l'identification.
L'URI de redirection approuvée est "http: // localhost: 8080 /" À (Cette partie peut changer en fonction de l'environnement. Il peut s'agir de 8000 ou 8090, et elle peut ne pas fonctionner à moins que vous n'y mettiez le dernier "/".)
Cliquez sur le bouton "Télécharger" pour télécharger le fichier json qui décrit les paramètres à utiliser sur Python. Vous pouvez le télécharger après avoir terminé les paramètres ici, mais le nom du fichier peut être différent de celui que vous avez téléchargé ici. (Même contenu sauf pour le nom du fichier) (Cette fois, c'était un fichier appelé client_id.json.)
Créez un nouvel environnement virtuel Python à utiliser dans le terminal (invite de commande pour Windows). Cette fois, je l'ai nommé youtube.
command
conda create -n youtube python=3.5.3
#Lors de la création avec un ensemble d'Anaconda
# conda create -n youtube python=3.5.3 anaconda
#Lors de la vérification de l'environnement créé
# conda info -e
# conda list -n youtube
#Lors de la suppression de l'environnement virtuel créé
# conda remove -n youtube --all
Le travail ultérieur est effectué dans l'environnement virtuel.
command
# Windows
activate youtube
#Désactiver
# deactivate
# Mac
source activate youtube
#Désactiver
# 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
Créez un répertoire pour enregistrer le fichier Python et y déplacer le fichier téléchargé.
Cette fois, nous obtiendrons une liste des fichiers téléchargés. Certaines modifications ont été apportées en fonction du script «Obtenir ma vidéo téléchargée» à l'URL ci-dessous.
https://developers.google.com/youtube/v3/code_samples/python?hl=ja#retrieve_my_uploads
Créez un fichier Python qui décrit le script ci-dessous. (Cette fois nommé main.py)
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__':
#Remplacez le répertoire actuel par l'emplacement du fichier exécutable
os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
CLIENT_SECRETS_FILE = "client_id.json" #Nom du fichier téléchargé
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)
Lors de l'exécution dans un terminal sur un environnement virtuel (invite de commande pour Windows)
cmd
cd (Répertoire de projet Python)
python main.py
La première fois que vous l'exécutez, le navigateur démarre "(Le nom des informations d'identification) demande l'autorisation suivante." Sera affiché, alors donnez la permission.
Après avoir exécuté ce qui précède, la liste des vidéos téléchargées jusqu'à présent sera affichée sur la console.
Diverses commandes autres que l'affichage de la liste sont possibles. Bien sûr, lors de la suppression d'une vidéo, assurez-vous de la vérifier soigneusement avant de le faire à vos propres risques.
https://developers.google.com/youtube/1.0/developers_guide_python
Recommended Posts