2023-02-16 (C) Questetra, Inc. (MIT License) 2 This item inserts an event to Google Calendar. この工程は、Google カレンダーに予定を追加します。 https://support.questetra.com/bpmn-icons/googlecalendar-insertevent/ https://support.questetra.com/ja/bpmn-icons/googlecalendar-insertevent/ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEt0lEQVRYR8VXX2xTVRj/ndv2tmv3 p1cGDyqM8SBRx9jcNBEMW7apSMKYMWoiD9sSEhITQ33AB23DyOaDJmoxGqPRbBgwEhMdUSRKS4ri XMA/I4jJhkZQIEhgbdm69ra395hz72572t5u3UbwvDS99/vO+Z3v+/2+77sE//MiCzm/vT/cRYjQ AtAGAG4A7JetMQARgIwBJBTwVh4udd95AbT2hd1Wm7CLqtRDiHbovItSRIhA/EpK3RfqkyJzOcwJ oO3VcA9RyVulHpx/EAMC0N6gTxouBqIogPb+sJ8Qsmve65ZkQPwBb9WLZqamANoHwkMEpLukvUs0 oiBDQW9Vb755AQD+5utrrGirs8FmmZcqpjAmp1UcPJlAPKm/ppTuC/okD2+cszPLuUDJoGHwTm85 1t5p0f5ejaoYnVCwuUGEw2Z+7ZkkcPy3JDautUFyEagUGD6dxHvH4hkHSumTPCcyABjbLRbyF0+4 D3dWoKZa0Jwvh1WEzqXQ9aAdLrs5gJgMfP2rjLY6EcvK9a2PjiXx5hEeACLpNK011JEB0NEf7gMh e4ytm9dY0V4ngpaYYzMzgQBTCYpDIwlcn+J2onRvwCf1MZ8sgIEwKyRVxkb+7nLcf7ce/qWstAp8 fkrGB8EElwZEgj63lAGgVzjyBX/Q69tdaFxtXcrZmm8qDRwakbH/uyyAWUJqXNAiYKb53VudeKy+ CNsWAIsp4N1v4/jmzKwUZn0NRWgAOvrDIRDSwu/b0+LAMw/bYeOy8PcNFYOhBG5MqRo/Hq0X4RQB Rr7xKwrGLirY1mTHsoqsuCIxijeOzGD0vJILm9ITAZ/UqkdgIHyBgNTwFtuaRexoK8tIjpHp4EkZ Tz1kR3UlwU9/KojJVJPc8GkZVU4BlybT6Gyyo5oDwNTzyqcxXJ5U8+M2FvC6G/UIDEQKyL7pXhs8 T5Shoky/DdM0y6do1Zl7aVLFqT9S6Gy2g7Gdke3Ln5NgfjyA81fTeP6jadOkBbxuUhRA3UoLXu5y YXllbhWUFeBaVMWxs0m03idizQq9TjBwZgBGJhTs+Sw2NwCzFNx1h4DnNjrgduUCiMsUCYXi93/S WFUtYGW1ThIWgdGJFNatsqLSmfUZv5LGx3kKmFXBmaBPaihKwgdqrXip05mpaPlX+DdK8dUvMrY/ 4tB4UiwCjJi7D5hEIIeEJq23Y50NL2x2aixni/WCHycUbG0SYRWAUgFcvK5ix/tTBSnIkaFZIere 5MCzG7IyZCRkveDaTRW1KywYGdf7Qu08HGAl+LXDM5pE+WU0paKl2LOlDFsaxWytZu0UwHSC4mac YnmFoCnCWAwgAye5BNi556xGvH10BsfPpbjzaTTglbTxrmgz2vu0CxvuuTWl+JMfEjjwvZwFYNaM tOHTigtGQ+JngQVU3gLTwpmARhUFqwvaMfPkB5KdHQ48Xi/CsshpyEAyHacYPBFH4KyegqIDieFw a4fRvIBwoTfe3MahlO4PeqWe/BzdnrHc5OZzRoBLRxchGOInpYURkkYpRc+iPkyMgzR1WOABgad0 IDQKCr+Shn9Jn2b5t2UVEwAbIhoo4CaErDcaCwFYT2cfqaG5blwyBxYW6sVb/wdgbxw/u9E3bAAA AABJRU5ErkJggg== { // Google ドライブ に接続するユーザを config に指定 const quser = engine.createQuser(3, 'サウスポール', 'SouthPole@questetra.com'); configs.putObject('conf_User', quser); configs.put('conf_DataIdB', calendarId,); //C2: Calendar ID configs.put('conf_DataIdC', eventTitle); //C3: 予定タイトル // 日時型データ項目(開始時刻)を準備して、config に指定 const startDateDef = engine.createDataDefinition('開始時刻', 1, 'q_StartDate', 'STRING_TEXTFIELD'); configs.putObject('conf_DataIdD', startDateDef); // 日時型データ項目の値(開始時刻)を指定 if (startDate !== null) { //スクリプトの addHours() に対応 - java.sql.Timestamp.valueOf(startDate) ではエラーになる const datetimeS = new com.questetra.bpms.util.AddableTimestamp(java.sql.Timestamp.valueOf(startDate).getTime()); engine.setData(startDateDef, datetimeS); } else { engine.setData(startDateDef, null); } // 日時型データ項目(終了時刻)を準備して、config に指定 const endDateDef = engine.createDataDefinition('終了時刻', 2, 'q_EndDate', 'STRING_TEXTFIELD'); configs.putObject('conf_DataIdE', endDateDef); // 日時型データ項目の値(終了時刻)を指定 if (endDate !== null) { const datetimeE = java.sql.Timestamp.valueOf(endDate); engine.setData(endDateDef, datetimeE); } else { engine.setData(endDateDef, null); } configs.put('conf_DataIdF', location); //C6: 場所 configs.put('conf_DataIdG', description); //C7: 説明 // 文字型データ項目を準備して、config に指定 const idDef = engine.createDataDefinition('予定 ID', 3, 'q_ids', 'STRING_TEXTAREA'); configs.putObject('conf_eventId', idDef); // 文字型データ項目の値(予定 ID を保存するデータ項目)を指定 engine.setData(idDef, '事前文字列'); // 文字型データ項目を準備して、config に指定 const urlDef = engine.createDataDefinition('予定 URL', 4, 'q_urls', 'STRING_TEXTAREA'); configs.putObject('conf_eventUrl', urlDef); // 文字型データ項目の値(予定 URL を保存するデータ項目)を指定 engine.setData(urlDef, '事前文字列'); // 文字型データ項目を準備して、config に指定 const meetDef = engine.createDataDefinition('Meet URL', 5, 'q_meet', 'STRING_TEXTAREA'); configs.putObject('conf_meetUrl', meetDef); // 文字型データ項目の値(Meet URL を保存するデータ項目)を指定 engine.setData(meetDef, '事前文字列'); return { idDef, urlDef, meetDef }; }; /** * Google ドライブに接続する UserID に対応する QuserView がなくエラーになる場合 */ test('User not found', () => { prepareConfigs(configs, 'abcde@123.com', 'event1', '2022-01-01 10:03:00', '2022-01-01 18:03:00', 'location1', 'description1'); // 設定されたユーザが削除された場合 未設定と同じ状態に上書きする configs.put('conf_User', ''); //