Es ist ein Memorandum, weil ich krank war. Betreiben Sie den Google-Kalender, der ausschließlich für Lambda (Python) freigegeben ist. _ Ich habe es bei der Arbeit gemacht, aber ich werde die Tragödie überbringen, dass die Google-Bibliothek eine Woche vor dem Start aktualisiert wurde, die schnellste in Japan. _
Unten bitte mit pip einfügen
Um auf Google Kalender zugreifen zu können, müssen Sie einen Authentifizierungsbenutzer erstellen, der als Dienstkonto bezeichnet wird.
Greifen Sie über die Google Developer Console (https://console.developers.google.com/) auf den API-Manager zu.
Aktivieren Sie die Kalender-API.
Gehen Sie von "API Manager" zu "Anmeldeinformationen" und erstellen Sie einen Dienstkontoschlüssel.
Bitte geben Sie Ihren Namen und Ihre Dienstkonto-ID ein. Wir werden die Dienstkonto-ID später verwenden. Geben Sie diesmal auch den Schlüsseltyp p12 an.
Da die p12-Datei DL ist, konvertieren Sie sie in pem
openssl pkcs12 -in key.p12 -nodes -nocerts > key.pem
Fügen Sie das von Ihnen erstellte Dienstkonto den freigegebenen Nutzern von Google Kalender hinzu. Ich war süchtig nach der offiziellen Dokumentation, weil ich die Beschreibung hier nicht finden konnte. Es gab eine Beschreibung wie das Fälschen von Benutzern, aber es scheint, dass es nicht betrieben werden kann, wenn es nicht hinzugefügt wird.
import httplib2
from apiclient import discovery
import oauth2client
from oauth2client.service_account import ServiceAccountCredentials
from datetime import datetime as dt
SERVICE_ACCOUNT_ID = "[email protected]" #Erworbenes Dienstkonto
def lambda_handler(event, context):
credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = discovery.build(
'calendar',
'v3',
http=http
)
events = service.events().list(calendarId=CALENDAR_ID).execute()
return events.get('items', [])
def get_credentials():
scopes = 'https://www.googleapis.com/auth/calendar'
credentials = ServiceAccountCredentials.from_p12_keyfile(
SERVICE_ACCOUNT_ID,
'key.pem',
scopes=scopes
)
return credentials
Danach ist es in Ordnung, wenn Sie es auf Lambda hochladen, indem Sie "Lambda-Uploader" ausführen oder es selbst komprimieren!
Recommended Posts