Mit Google Calendar API (Python) überprüfen ob ich ein Termin habe?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das hört sich jetzt nicht nach nem unlösbaren Problem an? Kannst Du kein Python oder was ist das Problem?

https://google-calendar-simple-api.readthedocs.io/en/latest/events.html#list-events

TazmanianGo 
Fragesteller
 13.02.2024, 09:04

Hey danke für deine Antwort aber auch in deinen Beispielen finde ich nichts, dass überprüft ob ich Zeit habe oder nicht. Oder Irre ich mich?

0
KuarThePirat  13.02.2024, 09:04
@TazmanianGo
events = gc.get_events(time_min, time_max, order_by='updated')

Gibt dir ne Liste von Events im Zeitraum, der durch time_min und time_max spezifiert wird. Ist die Liste leer, hast Du Zeit.

0
TazmanianGo 
Fragesteller
 13.02.2024, 10:04
@KuarThePirat

Hey leider habe ich ein problem wenn ich mein programm starte.
Ich muss mich zuerst bei google anmelden und dann steht da:

Access blocked: ProjectNew has not completed the Google verification process

meine.email@gmail.com

ProjectNew has not completed the Google verification process. The app is currently being tested, and can only be accessed by developer-approved testers. If you think you should have access, contact the developer.

If you are a developer of ProjectNew, see error details.

Error 403: access_denied

0

from datetime import datetime

from google.oauth2.credentials import Credentials

from google.auth.transport.requests import Request

from google_auth_oauthlib.flow import InstalledAppFlow

from googleapiclient.discovery import build

# Scopes für den Zugriff auf den Kalender

SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']

def main():

   creds = None

   # Die Datei token.json speichert die Zugriffstoken und wird automatisch erzeugt, wenn die Authentifizierung erfolgreich ist.

   if os.path.exists('token.json'):

       creds = Credentials.from_authorized_user_file('token.json')

   # Wenn es keine gültigen Anmeldeinformationen gibt oder diese abgelaufen sind, dann fordere den Benutzer zur erneuten Authentifizierung auf.

   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)

       # Speichere die Anmeldeinformationen für die nächste Ausführung

       with open('token.json', 'w') as token:

           token.write(creds.to_json())

   # Erzeuge ein Google Calendar API Objekt

   service = build('calendar', 'v3', credentials=creds)

   # Frage nach Startdatum, Startzeit und Endzeit

   start_date = input("Bitte gib das Startdatum im Format 'YYYY-MM-DD' ein: ")

   start_time = input("Bitte gib die Startzeit im Format 'HH:MM' ein: ")

   end_time = input("Bitte gib die Endzeit im Format 'HH:MM' ein: ")

   # Erzeuge Start- und Endzeit-Objekte

   start_datetime = datetime.strptime(start_date + ' ' + start_time, '%Y-%m-%d %H:%M')

   end_datetime = datetime.strptime(start_date + ' ' + end_time, '%Y-%m-%d %H:%M')

   # ISO-Format für die Zeit

   start_time_iso = start_datetime.isoformat() + 'Z'

   end_time_iso = end_datetime.isoformat() + 'Z'

   # Rufe die Liste der Ereignisse im Kalender ab

   events_result = service.events().list(calendarId='primary', timeMin=start_time_iso, timeMax=end_time_iso,

                                         maxResults=10, singleEvents=True,

                                         orderBy='startTime').execute()

   events = events_result.get('items', [])

   # Überprüfe, ob ein Ereignis gefunden wurde

   if not events:

       print('Nein')

   else:

       print('Ja')

if __name__ == '__main__':

   main()

TazmanianGo 
Fragesteller
 13.02.2024, 10:09
Danke für deine antwort aber:
Zugriff blockiert: Die Überprüfung von ProjectNew durch Google wurde nicht abgeschlossen
0
TazmanianGo 
Fragesteller
 13.02.2024, 10:46
@IdenVersio

Okay ich weiß nicht weshalb aber es klappt jetzt vielen Dank !

0