C'est un mémorandum parce que j'étais malade. Utilisez le calendrier Google qui est partagé exclusivement avec Lambda (Python). _ Je l'ai fait au travail, mais je vais livrer la tragédie que la bibliothèque de Google a été mise à jour une semaine avant le début, la plus rapide du Japon. _
Ci-dessous, veuillez mettre avec pip
Pour accéder à Google Agenda, vous devez créer un utilisateur d'authentification appelé compte de service.
Accédez à API Manager à partir de la Google Developer Console (https://console.developers.google.com/).
Activez l'API Calendar.
Accédez à "Informations d'identification" à partir de "Gestionnaire d'API" et créez une clé de compte de service.
Veuillez saisir votre nom et votre identifiant de compte de service. Nous utiliserons l'identifiant du compte de service plus tard. De plus, spécifiez cette fois le type de clé p12.
Puisque le fichier p12 est DL, convertissez-le en pem
openssl pkcs12 -in key.p12 -nodes -nocerts > key.pem
Ajoutez le compte de service que vous avez créé aux utilisateurs partagés de Google Agenda. J'étais accro à la documentation officielle car je n'ai pas pu trouver la description ici. Il y avait une description comme comment usurper les utilisateurs, mais il semble que cela ne puisse pas être utilisé à moins d'être ajouté.
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]" #Compte de service acquis
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
Après cela, ce n'est pas grave si vous le téléchargez sur Lambda en faisant lambda-uploader
ou en le compressant vous-même!
Recommended Posts