サンプルコードはPythonプログラミング言語です。
まず、Google Cloud PlatformConsoleでプロジェクトを作成する必要があります。
次に、googleロゴの横にある作成済みプロジェクトを選択します。
アプリケーションはGoogleカレンダーで動作するため、プロジェクトはGoogle CalendarAPIに接続する必要があります。ライブラリに移動します:
Google Calendar API を見つけて、[有効にする]をクリックします。
Googleカレンダーに無制限にアクセスするには、サービスアカウントを作成する必要があります。これを行うには、資格情報に移動し、資格情報を作成して、サービスアカウントを選択します。
アカウントの名前を選択し、[作成]をクリックします。
次に、オプションの設定をスキップして、[資格情報]タブに戻ります。
次に、アカウント名をクリックしてサービスアカウントに関する情報に移動し、キーを作成する必要があります。
JSONキーファイル形式を選択する必要があります。ファイルはPCにダウンロードされ、サービスアカウントにアクセスするためにプログラムによってさらに読み取られます。
アプリケーションへのアクセスを許可する必要があるカレンダーに移動したら、その設定に移動します。
次に、[ユーザーの追加]をクリックし、サービスアカウントの名前を挿入して、アクセス許可を慎重に選択します(アプリケーションの機能によって異なります)。
それでは、アプリケーションコードに移りましょう。
次のライブラリをインストールします。
pip install --upgrade google-api-python-client
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
次に、次のコードを実行します。
from __future__ import print_function
import datetime
import googleapiclient
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/calendar']
calendarId = 'lp285psodk309lilp73d9irek8@group.calendar.google.com'
SERVICE_ACCOUNT_FILE = 'light-reality-285313-acdf4768fc46.json'
class GoogleCalendar(object):
def __init__(self):
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
self.service = googleapiclient.discovery.build('calendar', 'v3', credentials=credentials)
#
def create_event_dict(self):
event = {
'summary': 'test event',
'description': 'some info',
'start': {
'dateTime': '2020-08-03T03:00:00+03:00',
},
'end': {
'dateTime': '2020-08-03T05:30:00+03:00',
}
}
return event
#
def create_event(self, event):
e = self.service.events().insert(calendarId=calendarId,
body=event).execute()
print('Event created: %s' % (e.get('id')))
#
def get_events_list(self):
now = datetime.datetime.utcnow().isoformat() + 'Z'
print('Getting the upcoming 10 events')
events_result = self.service.events().list(calendarId=calendarId,
timeMin=now,
maxResults=10, singleEvents=True,
orderBy='startTime').execute()
events = events_result.get('items', [])
if not events:
print('No upcoming events found.')
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
print(start, event['summary'])
calendar = GoogleCalendar()
print("+ - create event\n? - print event list\n")
c = input()
if c == '+':
event = calendar.create_event_dict()
calendar.create_event(event)
elif c == '?':
calendar.get_events_list()
else:
pass
'+'パラメーターを指定して上記のコードを実行した結果、作成されたイベントがカレンダーに表示されます。
資料へのリンク: