Рубрики
Без рубрики

Как начать работу с API Google Calendar, используя Python с примерами

Calendar Google предлагает один из самых удобных и популярных способов управления графиком, событиями, встречами … Помечено GoogleCalendar, Python.

Календарь Google предлагает один из самых удобных и популярных способов управления графиком, событиями, встречами или даже планировать свои праздничные мероприятия. Несколько вещей, которые вы думаете, будет простым, в конечном итоге усложняется для индивидуальных потребностей. API Google Calendar позволяет автоматизировать ваш календарь для тех пользовательских нужд.

1. Как создать проект в консоли Google Developer?

Чтобы выкл. Консоль разработчиков Google и создать новый проект. Мы называем проект в качестве автоматизации календаря, в дальнейшем к нему получить учетные данные.

2. Настройте службу API Google API

import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/calendar']

CREDENTIALS_FILE = 'credentials.json'

def get_calendar_service():
    creds = None
    # The file token.pickle stores the user's access and refresh 
    tokens, and is
    # created automatically when the authorization flow completes for 
      the first
    # time.
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    # If there are no (valid) credentials available, let the user log 
      in.
    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_FILE, SCOPES)
            creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

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

2. Как извлечь список всех календарей от учетной записи пользователя с использованием календаря API

Давайте создадим файл с именем list_calendars.py в том же каталоге, что и у cal_setup.py С фрагментом ниже:

from cal_setup import get_calendar_service

def main():
   service = get_calendar_service()
   # Call the Calendar API
   print('Getting list of calendars')
  calendars_result = service.calendarList().list().execute()

   calendars = calendars_result.get('items', [])

   if not calendars:
       print('No calendars found.')
   for calendar in calendars:
       summary = calendar['summary']
       id = calendar['id']
       primary = "Primary" if calendar.get('primary') else ""
       print("%s\t%s\t%s" % (summary, id, primary))

if __name__ == '__main__':
   main()

Приведенный выше код вызывает API календаря с учетными данными, которые уже были установлены, она будет получать все календари.

Когда вышеуказанный код работает в первый раз, ссылка Google Auth будет открыта в браузере по умолчанию, ищет разрешения на доступ к календарю, после того, как согласие при условии, что токен сохраняется, который можно использовать для создания запросов в будущем в календаре Google API.

После того, как код запущен, в терминале вы увидите на консоли имена всех календарей, которые вы создали.

Если вы хотите сделать больше вещей, мы создали углубленную статью со скриншотами – Как автоматизировать календарь Google с Python

Весь исходный код можно найти Вот на нашем Github Отказ

Оригинал: “https://dev.to/karenapp/how-to-get-started-with-google-calendar-api-using-python-with-examples-4c4h”