Dieser Artikel ist eine Fortsetzung des folgenden Artikels.
Ich habe einen Kalender erstellt, der den Verteilungsplan von Vtuber automatisch aktualisiert
Beim letzten Mal habe ich Videoinformationen von YouTube erhalten. Dieses Mal werde ich den Zeitplan in Google Kalender basierend auf den erhaltenen Videoinformationen registrieren.
--YouTube-Videoinformationen
Dieses Mal registrieren wir den Zeitplan in Google Kalender. Daher benötigen Sie natürlich den Kalender des Registrierungsziels. Überprüfen Sie daher die Kalender-ID im Voraus in den Kalendereinstellungen.
Danach konnte ich mich einfach im Kalender registrieren, indem ich dem offiziellen Beispiel folgte.
Drücken Sie einfach die Taste auf der Beispielseite. Speichern Sie gleichzeitig credentials.json in dem Verzeichnis, an dem Sie arbeiten.
Führen Sie den Befehl genau so aus, wie er geschrieben wurde.
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Registrieren Sie das Ereignis anhand des Beispielcodes im Kalender.
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']
Sie müssen lediglich die im Kalender zu registrierenden Informationen aus den zuvor erfassten Videoinformationen und der Kalender-ID, die Sie zuerst bestätigt haben, an diese Funktion übergeben. Ich habe beschlossen, nur die Mindestinformationen zu übergeben, die im Kalender als Veranstaltung registriert werden sollen.
--Zusammenfassung: Videotitel --beschreibung: Video URL --https: //www.youtube.com/watch? v = + Video ID --start_datetime: Startzeit der Lieferung
Wenn Sie die ID des Rückgabewerts notieren, können Sie den registrierten Zeitplan bearbeiten, um auf Änderungen der Lieferzeit und des Videotitels zu reagieren.
Recommended Posts