ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回

【GAS】今日の予定を自動的にLINEに送信する方法(LINE アクセストークンの取得方法)
LINEとの連携一覧
ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
Goog...
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- 指定したカレンダーの予定のみLINEに通知されるようになります。
- 以前作成したスクリプトの変更方法がわかります。
動画はこちら
【GAS基礎講座 16 】Googleカレンダーの予定をLINEに送信する方法
スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
const LINE_NOTIFY_TOKEN = "*****あなたのトークン*****"; const LINE_NOTIFY_API = "https://notify-api.line.me/api/notify"; const CALENDER_NAME = "xxx"; //取得するカレンダー名 function calendarToLine() { var calendars = CalendarApp.getAllCalendars(); // var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n" ; var text = "\n" + Utilities.formatDate(new Date(), 'JST', 'M月d日') + "\n" ; for(i in calendars) { var calendar = calendars[i]; var events = calendar.getEventsForDay(new Date()); /* //カレンダー名を取得する if( events.length > 0 ) { text += "■ " + calendar.getName() + "\n"; } */ if( calendar.getName() == CALENDER_NAME ) { // text += "■ " + calendar.getName() + "\n"; //カレンダーの内容を取得する for(j in events) { var event = events[j]; var title = event.getTitle(); var start = toTime(event.getStartTime()); var end = toTime(event.getEndTime()); text += start + ' - ' + end + " " + title + '\n'; } if( events.length > 0 ) { text += "\n"; } } } sendToLine(text);//LINEにデータを送信する } //LINEにデータを送信する //text:送信するデータ function sendToLine(text){ var token = LINE_NOTIFY_TOKEN; var options = { "method" : "post", "payload" : "message=" + text, "headers" : {"Authorization" : "Bearer "+ token} }; UrlFetchApp.fetch(LINE_NOTIFY_API, options); } //'HH:mm'に変換する function toTime(str){ return Utilities.formatDate(str, 'JST', 'HH:mm'); } |
最後までご覧いただきありがとうございます。
つぎはこちら

【GAS】特定のGmailをLINEに転送する方法(GmailとLINEの連携)
LINEとの連携一覧
ご訪問ありがとうございます。
スプレッドシートマスターのひろしです。
前回
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
特定のメー...
コメント
質問させてください。
コードの紹介ありがとうございます。
こちら1週間の予定を送る場合はどう変更したらいいでしょうか?
ご教授いただけましたら。
質問ありがとうございます。
13行め
var events = calendar.getEventsForDay(new Date());
で、今日(new Date())をしているので、この部分に
必要とする日付を入れていけばいいです。
別の質問ですが、
10件以上のカレンダーのイベントを取得したいのですが、カレンダー名のところに加えられなくて別のやり方も教えていただければ幸いです。
すみません、意味がよくわかりません。
具体的な例を提示していただけると助かります。
すみません。送ったと思っていたのですがコメントが消えてしまっていました。
こちらから尋ねておいて申し訳ありません。
いまグーグルカレンダーで自分のアドレス*****@gmail.comと別に******@group.calendar.google.com
というグループカレンダーを10件以上連携させています。
そのカレンダーの今日のイベントもLINEに一緒に送るようにしたいと思ったのですが、getAllCallendersのみだと引っ張ってこれなくて悩んでいます。
何かいいやり方があれば教えてほしいと思いましてコメントしました。
この質問は、*****@group.calendar.google.com のイベントが
getAllCallendersでは取得できないということでしょうか?
そうです。getAllでgroupのカレンダーの予定が取得されなかったので違う方法がないか調べているんですが。
なかなか見つからなくて。
なるほど、それはわからないですね。
ありがとうございます。