Betreiben Sie die eingeschränkte Freigabe von Google Kalender mit Lambda (Python) [Cloudpack Osaka]

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. _

Erforderliche Bibliotheken

Unten bitte mit pip einfügen

Erstellen eines Dienstkontos

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.

API_ライブラリ_-_msp-calendar.png

Aktivieren Sie die Kalender-API. Calendar_API_-_msp-calendar.png

Gehen Sie von "API Manager" zu "Anmeldeinformationen" und erstellen Sie einen Dienstkontoschlüssel. 認証情報_-_msp-calendar.png

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. サービス_アカウントキーの作成_-_msp-calendar 2.png

Da die p12-Datei DL ist, konvertieren Sie sie in pem openssl pkcs12 -in key.p12 -nodes -nocerts > key.pem

Einstellungen für die Kalenderfreigabe

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.

  1. "Einstellungen" aus dem Zahnrad oben rechts im Google Kalender
  2. Wählen Sie die Registerkarte "Kalender" und gehen Sie zu "Teilen: Einstellungen bearbeiten". アイレット株式会社_-カレンダー-_設定.png
  3. Fügen Sie das soeben erstellte Dienstkonto hinzu アイレット株式会社_-カレンダー-_共有.png

Quellcode

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

Betreiben Sie die eingeschränkte Freigabe von Google Kalender mit Lambda (Python) [Cloudpack Osaka]
Betreiben Sie TwitterBot mit Lambda, Python
[GCP] Betreiben Sie Google Cloud Storage mit Python
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Kinesis mit Python betreiben
Betreiben Sie Blender mit Python
Betreiben Sie Excel mit Python (1)
Betreiben Sie Excel mit Python (2)
Betreiben Sie Excel mit Python Open Pyxl
So extrahieren Sie einen Termin in Google Kalender mit Python
Lernen Sie Python mit Google Colaboratory
[Hinweis] Betreiben Sie MongoDB mit Python
Greifen Sie mit Python auf Google Drive zu
AWS Lambda + Twilio Machen Sie aus einem Google-Kalender eine Sprachbenachrichtigung zum Anrufen
Erstellen Sie mit Python und GAS Termine für AtCoder-Wettbewerbe in Google Kalender
Bedienen Sie den Belegdrucker mit Python
Versuchen Sie, Facebook mit Python zu betreiben
Gesichtserkennung mit Lambda (Python) + Erkennung
Betreiben Sie ECHONET Lite-Haushaltsgeräte mit Python
Benachrichtigen Sie HipChat mit AWS Lambda (Python)
Verwenden Sie PostgreSQL mit Lambda (Python + psycopg2)
Ich habe versucht, den Google-Kalender mit CSV-Terminen mithilfe von Python und Google API zu aktualisieren
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Betreiben Sie das Smartlife-Netzteil mit Python (de-IFTTT).
Gemeinsamer Bildschirm mit Python Exe App
Bearbeiten von DynamoDB-Daten mit Lambda (Node & Python)
Registrieren Sie Benutzer mit Google Admin SDK (Python)
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Holen Sie sich Urlaub mit der Google Kalender-API
[Python] Betreiben Sie den Browser automatisch mit Selenium
Betreiben Sie Haushaltsgeräte mit Python und IRKit
Versuchen Sie, Python: Lambda zuzuweisen oder zu wechseln
Laden Sie Bilder mit Python auf Google Drive hoch