
Microsoft 365 Outlook: 予定表(カレンダ)イベント作成 (Microsoft 365 Outlook: Calendar Event Insert)
Outlook 予定表(カレンダ)にイベント(予定)を作成します。参加者は最大3名まで指定できます。
Configs
- A: OAuth2通信許可設定名 (←[OAuth 2.0 設定]) *
- B: イベント名が格納されている文字型データを選択してください *
- C: イベント詳細説明が格納されている文字型データを選択してください *
- D: イベント実施場所が格納されている文字型データを選択してください *
- E: イベントの開始日時が格納されている日時型データを選択してください *
- F: イベントの終了日時が格納されている日時型データを選択してください *
- G: イベントの日時のタイムゾーンをセットしてください *
- H: イベント参加者1のメールアドレスが格納されている文字型データを選択してください *
- I: イベント参加者2のメールアドレスが格納されている文字型データを選択してください
- J: イベント参加者3のメールアドレスが格納されている文字型データを選択してください
- X: 通信ログが格納される文字列型データを選択してください (更新)
Script (click to open)
// Insert Outlook Calendar Event via Microsoft Graph API v1.0 (ver. 20201028)
// (c) 2020, Questetra, Inc. (the MIT License)
//// == 工程コンフィグの参照 / Config Retrieving ==
const oauth2 = configs.get( "conf_OAuth2" ) + "";
const subject = engine.findDataByNumber( configs.get( "SelectConfB" ) ) + "";
const content = engine.findDataByNumber( configs.get( "SelectConfC" ) ) + "";
const location = engine.findDataByNumber( configs.get( "SelectConfD" ) ) + "";
const startDate = engine.findDataByNumber( configs.get( "SelectConfE" ) ) + "";
const endDate = engine.findDataByNumber( configs.get( "SelectConfF" ) ) + "";
const timeZone = configs.get( "StrConfG" ) + "";
const atendee1 = engine.findDataByNumber( configs.get( "SelectConfH" ) ) + "";
//未指定の場合を考慮
let atendee2 = "";
if (configs.get( "SelectConfI" )) {
atendee2 = engine.findDataByNumber( configs.get( "SelectConfI" ) ) + "";
}
let atendee3 = "";
if (configs.get( "SelectConfJ" )) {
atendee3 = engine.findDataByNumber( configs.get( "SelectConfJ" ) ) + "";
}
const dataIdX = configs.get( "conf_DataIdX" );
//// == 演算 / Calculating ==
var requestObj = {};
requestObj.subject = subject;
//未指定の場合を考慮
if ( content !== "null" ) {
requestObj.body = {};
requestObj.body.content = content;
}
requestObj.start = {};
requestObj.start.dateTime = startDate;
requestObj.start.timeZone = timeZone;
requestObj.end = {};
requestObj.end.dateTime = endDate;
requestObj.end.timeZone = timeZone;
//未指定の場合を考慮
if ( location !== "null" ) {
requestObj.location = {};
requestObj.location.displayName = location;
}
requestObj.attendees = [];
requestObj.attendees[0] = {};
requestObj.attendees[0].emailAddress = {};
requestObj.attendees[0].emailAddress.address = atendee1;
//未指定の場合を考慮
if ( atendee2 !== "null" ) {
requestObj.attendees[1] = {};
requestObj.attendees[1].emailAddress = {};
requestObj.attendees[1].emailAddress.address = atendee2;
}
if ( atendee3 !== "null" ) {
requestObj.attendees[2] = {};
requestObj.attendees[2].emailAddress = {};
requestObj.attendees[2].emailAddress.address = atendee3;
}
var accessLog = "";
var token = httpClient.getOAuth2Token( oauth2 );
var uri = "https://graph.microsoft.com/v1.0/me/events";
var response = httpClient.begin()
.bearer( token )
.body( JSON.stringify( requestObj ), "application/json" )
.post( uri );
accessLog += "---POST request--- " + response.getStatusCode() + "\n";
accessLog += response.getResponseAsString() + "\n";
//var statusCode = response.getStatusCode() + "";
//if( statusCode == "200" ){
//}
//// == ワークフローデータへの代入 / Data Updating ==
if( dataIdX !== "" ){
engine.setDataByNumber( dataIdX, accessLog );
}
Download
Addonファイルのインポートは Professional でのみご利用いただけます
Notes
- OAuth2 設定でスコープには「https://graph.microsoft.com/calendars.readwrite offline_access」を指定してください
Capture
