Usare Google Calendar in Python

Mattepuffo's logo
Usare Google Calendar in Python

Usare Google Calendar in Python

Google mette a disposzione parecchie API per i suoi servizi; oggi vediamo come usare quelle per Google Calendar con Python!

Il punto di partenza, per qualsiasi API, è creare un progetto; potete iniziare con il wizard ufficiale.

Seguendo le istruzioni del primo link, sarete in grado di creare il progetto e le credenziali.

Una volta salvate sul vostro pc, potete eseguire questo codice:

from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
import datetime

SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'
store = file.Storage('credentials.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
    creds = tools.run_flow(flow, store)
service = build('calendar', 'v3', http=creds.authorize(Http()))

now = datetime.datetime.utcnow().isoformat() + 'Z'
print('I prossimi 10 eventi sono:')
events_result = service.events().list(calendarId='primary', timeMin=now,
                                      maxResults=10, singleEvents=True,
                                      orderBy='startTime').execute()
events = events_result.get('items', [])

if not events:
    print('Non ci sono eventi')
for event in events:
    start = event['start'].get('dateTime', event['start'].get('date'))
    print(start, event['summary'])

Alla prima esecuzione (nel mio caso anche alla seconda) si aprirà una pagina web in cui dovrete autenticarvi e concedere i permessi.

Poi verrà mostrata la lista degli eventi.

Enjoy!


Condividi

1 Commenti

  • enea

    Chiedo scusa, ho letto questo articolo che sembra molto interessante...ma sto trovando un sacco di problemi.Considera che non sono un informatico ma un semplice autodidatta. sono capitato su questa pagina perchè ho alcune basi python e sto tentado di fare questo: Ho realizzato un database mysql in cui registro delle scadenze relative a dei lavori. Vorrei attraverso python leggere queste scadenze, attraverso una query, e inserire i dati acquisiti in un nuovo evento in google calendar in modo che possa attivarmi un promemoria nel telefono. Mi sembra di capire che devo interagire con la API Calendar di Google. Però che tipo di applicazione devo untilizzare quando registro il progetto...(desktop o android,server...?) il file credential.jonson dove lo devo inserire perchè venga letto?

    31/05/2020

Commentami!