4D NetKit: Google と Microsoft 365 のカレンダーイベントを取得する

カレンダーやイベントの管理は、特に Googleカレンダーや Microsoft 365 のような一般的なサービスと統合する場合、多くのアプリケーションにとって非常に重要です。4D 20 R9 では、新しい 4D NetKit コマンドを使って、これらのプラットフォームからカレンダーやイベントを簡単に取得し、アクセスすることができるようになりました。スケジュールの同期や、カレンダーに基づいた機能の構築、またはイベントの詳細の取得するだけの場合でも、これらのコマンドにより、Google や Microsoft 365 のサービスとのシームレスな統合が可能になります。

HDI: 4D NetKit: カレンダーの取得

以下の例題では、Googleカレンダーまたは Microsoft 365 アカウント内の全カレンダーのリストと、リスト先頭のカレンダーに関連付けられているすべてのイベントを取得します。

アカウント接続

いつものように、Google や Microsoft API を使う前に、OAuth2Provider クラスを使って OAuth 2.0 接続 オブジェクトを作成します:

Google API の場合

var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($googleCredentials)
$google:=cs.NetKit.Google.new($oAuth2)

Microsoft API の場合

var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365

$oAuth2:=cs.NetKit.OAuth2Provider.new($microsoftCredentials)
$office365:=cs.NetKit.Office365.new($oAuth2)

カレンダーリストの取得

特定のカレンダーのイベントを取得する前に、まずはカレンダーID を取得する必要があります。これには、.calendar.getCalendars() 関数を使用して、ログインアカウントにリンクされているすべてのカレンダーを取得します。どちらの API もカレンダーリストを取得するメソッドを提供していますが、パラメーターや返されるオブジェクトは Google と Microsoft で異なる場合があります。

Google API の場合

// すべてのカレンダーを取得します
var $calendars:=$google.calendar.getCalendars()
// この例題では取得したリストの先頭のカレンダーを使用します
var $myCaldendar:=$calendars.calendars[0]

Microsoft API の場合

// すべてのカレンダーを取得します
var $calendars:=$office365.calendar.getCalendars()
// この例題では取得したリストの先頭のカレンダーを使用します
var $myCaldendar:=$calendars.calendars[0]

イベントリストの取得

カレンダーID を取得したあとは、calendar.getEvents() 関数を使用して、そのカレンダーにリンクされているイベントを取得することができます。どちらの API もイベントリストを取得するメソッドを提供していますが、パラメーターや返されるオブジェクトは Google と Microsoft で異なる可能性があります。

Google API の場合

// 使用する日付の範囲を計算します
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// 選択されているカレンダーのイベントをすべて取得します
var $events:=$google.calendar.getEvents({calendarId: $myCalendar.id; top: 100; singleEvents: True; startDateTime: $startDate; endDateTime: $endDate})

Microsoft API の場合

// 使用する日付の範囲を計算します
var $startDate:={date:Current date(); time:?00:00:00?}
var $endDate:={date:Current date()+7); time:?23:59:59?}
// 選択されているカレンダーのイベントをすべて取得します
var $events:=$office365.calendar.getEvents({calendarId: $myCalendar.id; top: 100; startDateTime: $startDate; endDateTime: $endDate})

blank

まとめ

4D 20 R9 の新しい 4D NetKit コマンドでカレンダーやイベントを管理するのは簡単です。Googleカレンダーでも Microsoft 365 でも、2つのプラットフォームの動作の違いを考慮しながら、カレンダーやイベントを素早く取得することができます。詳しくは、4D NetKit のドキュメントをご覧ください。

そして、これはほんの始まりに過ぎません。カレンダーの統合をさらに強力にするために、もっと多くのコマンドや機能が近々登場します!

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。