Cet article est une continuation de l'article ci-dessous.
J'ai créé un calendrier qui met automatiquement à jour le calendrier de distribution de Vtuber
La dernière fois, j'ai reçu des informations vidéo de YouTube, donc cette fois, j'enregistrerai le calendrier dans Google Agenda en fonction des informations vidéo obtenues.
Cette fois, nous enregistrerons le calendrier dans Google Agenda, vous aurez donc bien sûr besoin du calendrier de la destination d'inscription. Par conséquent, vérifiez l'ID de calendrier à l'avance dans les paramètres de calendrier.
Après cela, j'ai pu facilement m'inscrire au calendrier en suivant simplement l 'exemple officiel.
Appuyez simplement sur le bouton de la page d'exemple. En même temps, enregistrez credentials.json dans le répertoire sur lequel vous travaillez.
Exécutez la commande exactement comme elle est écrite.
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Enregistrez l'événement dans le calendrier en fonction de l'exemple de code.
from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
SCOPES = ['https://www.googleapis.com/auth/calendar']
def insert_event(event, calendar_id):
creds = None
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
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(
'credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
with open('token.pickle', 'wb') as token:
pickle.dump(creds, token)
service = build('calendar', 'v3', credentials=creds)
event = {
'summary': event.summary,
'description': event.description,
'start': {
'dateTime': event.start_datetime,
'timeZone': 'Japan',
},
'end': {
'dateTime': event.end_datetime,
'timeZone': 'Japan',
}
}
event = service.events().insert(calendarId=calendar_id, body=event).execute()
return event['id']
Après cela, transmettez les informations à enregistrer dans le calendrier à partir des informations vidéo acquises la dernière fois et de l'ID de calendrier confirmé en premier à cette fonction, et vous avez terminé. J'ai décidé de ne transmettre que les informations minimales pour être inscrit dans le calendrier en tant qu'événement.
--summary: Titre de la vidéo --description: URL de la vidéo --https: //www.youtube.com/watch? v = + ID vidéo --start_datetime: heure de début de livraison
Si vous notez l'ID de la valeur de retour, vous pouvez modifier le calendrier enregistré, afin de pouvoir répondre aux modifications du délai de livraison et du titre de la vidéo.