Microsoft 365 や Google のカレンダーイベントを 4D で管理: 作成・更新・削除

カレンダーイベントを扱うことは、多くのビジネスアプリケーションの核となる部分です。チームミーティングを開催するにしても、イベントのライフサイクルを管理するにしても、プログラムでイベントを作成更新削除できることは不可欠です。

このブログ記事では、4D 20 R10 で提供されている Office365.calendar や Google.calendarクラスを使用して、これらの操作を実行する方法を説明します。

HDI: 4D NetKit: カレンダーイベントの作成・編集

4D NetKit を使って、Microsoftカレンダーや Googleカレンダーで会議を作成・更新・削除するのがいかに簡単かを、以下の例で見てみましょう。

アカウントの接続

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

Google API の場合:

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

Microsoft API の場合:

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

イベントの作成

calendar.createEvent() 関数を使うと、現在のユーザーのデフォルトカレンダーか、指定したカレンダーに新しいイベントを作成することができます。

Google API の場合:

var $myEvent:={start: {}; end: {}}
// 1時間のミーティングを作成します
$myEvent.start.date:=Current date
$myEvent.start.time:=Current time
$myEvent.end.date:=Current date
$myEvent.end.time:=Current time+3600

$myEvent.summary:="ミーティング"
$myEvent.description:="ミーティングへの招待"
$myEvent.attendees:=[{email: "myAttendeeAddress@mail.com"}]
// イベントの作成
$event:=$google.calendar.createEvent($myEvent)

MICROSOFT API の場合:

var $myEvent:={start: {}; end: {}}
// 1時間のミーティングを作成します
$myEvent.start.date:=Current date
$myEvent.start.time:=Current time
$myEvent.end.date:=Current date
$myEvent.end.time:=Current time+3600
$myEvent.isAllDay:=False

$myEvent.attendees:=[{emailAddress: {address: "myAttendeeAddress@mail.com"}; type: "required"}]
$myEvent.subject:="ミーティング"
$myEvent.body:={content: "ミーティングへの招待"; contentType: "text"}
// イベントの作成
$event:=$office365.calendar.createEvent($myEvent)

イベントの更新

calendar.updateEvent() 関数を使用すると、既存のイベントを変更できます。更新したいプロパティを指定するだけで、それ以外の既存のプロパティは変更されません。

Google API の場合:

var $myUpdateEvent:={}
$myUpdateEvent.summary:="ミーティング(定例会議)"
// イベントの更新
$event:=$google.calendar.updateEvent($myUpdateEvent)

MICROSOFT API の場合:

var $myUpdateEvent:={}
$myUpdateEvent.subject:="ミーティング(定例会議)"
// イベントの更新
$event:=$office365.calendar.updateEvent($myUpdateEvent)

イベントの削除

calendar.deleteEvent() 関数は、カレンダーからイベントを削除します。イベントが会議の場合、出席者には自動的にキャンセルメッセージが通知されます。どちらのコマンドも同じパラメーターを取ります:

Google API の場合:

$status:=$google.calendar.deleteEvent({eventId: $event.event.id})

MICROSOFT API の場合:

$status:=$office365.calendar.deleteEvent({eventId: $event.event.id})

まとめ

4D NetKit の createEvent、updateEvent、deleteEvent 関数を組み合わせることで、4Dアプリケーションから直接Microsoft 365 や Googleカレンダーのイベントを完全に管理することができます。会議スケジューラー、予約システム、カスタムダッシュボードのいずれを構築している場合でも、この統合により、ユーザーは予定管理と連携を維持するための強力なツールを手に入れることができます。

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