カレンダーイベントを扱うことは、多くのビジネスアプリケーションの核となる部分です。チームミーティングを開催するにしても、イベントのライフサイクルを管理するにしても、プログラムでイベントを作成・更新・削除できることは不可欠です。
このブログ記事では、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カレンダーのイベントを完全に管理することができます。会議スケジューラー、予約システム、カスタムダッシュボードのいずれを構築している場合でも、この統合により、ユーザーは予定管理と連携を維持するための強力なツールを手に入れることができます。
