前提・実現したいこと
googleカレンダーに登録したスケジュールを当日の指定した時間にChatworkに通知設定をしましたが、
常に既読状態になっています。
発生している問題・エラーメッセージ
指定した時間でChatworkに通知は入るが、既読状態なので未読にしたい。
該当のソースコード
こちらを参考にGAS設定。
https://tonari-it.com/gas-calendar/
/* 指定のカレンダーの本日の予定をチャットワークに送る */ function sendSchedule() { var myCals=CalendarApp.getCalendarById('XXXXXXXX@gmail.com'); //特定のIDのカレンダーを取得 var myEvents=myCals.getEventsForDay(new Date()); //カレンダーの本日のイベントを取得 /* チャットワークに送る文字列のヘッダー */ var strBody = "[info][title]本日の予定:" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + " (roger)[/title]" /* イベントの数だけ繰り返し */ for(var i=0;i<myEvents.length;i++){ var strTitle=myEvents[i].getTitle(); //イベントのタイトル var strStart=_HHmm(myEvents[i].getStartTime()); //イベントの開始時刻 var strEnd=_HHmm(myEvents[i].getEndTime()); //イベントの終了時刻 var strLocation=myEvents[i].getLocation(); //場所 strBody=strBody + strStart + '~' + strEnd + ' ' + strTitle + '\n' + 'at: ' + strLocation + '\n' + '[hr]'; //チャットワークに送る文字列にイベント内容を追加 } strBody = strBody + '[/info]'; /* チャットワークにメッセージを送る */ var cwClient = ChatWorkClient.factory({token: ' XXXXXXXXXXXXXXXX'}); //チャットワークAPI cwClient.sendMessage({ room_id:XXXXXXXX, //ルームID body: strBody }); } /* 時刻の表記をHH:mmに変更 */ function _HHmm(str){ return Utilities.formatDate(str, 'JST', 'HH:mm'); }
試したこと
/* 時刻の表記をHH:mmに変更 */ の前に、以下のように追加してみました。
strBody = strBody + '[/info]'; /* チャットワークにメッセージを送る */ var cwClient = ChatWorkClient.factory({token: 'xxxxxxxxxxxxxxxxxxxxxxxxx'}); //チャットワークAPI cwClient.sendMessage({ room_id:xxxxxxxxx, //ルームID body: strBody }); //メッセージを未読にする client.makeMessageUnread = function(room_id, message_id) { return this.put("/rooms/" + roomID + "/messages/unread", {"message_id": message_id}); } }
補足情報(FW/ツールのバージョンなど)
ご助力いただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/12 03:21