Календарь 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”