URLをコピーしました!
スキルアップを始める!

【GAS(GoogleAppsScript)】LineNotifyを使ってLINEからGoogleカレンダーの予定を毎日送信する方法

GAS(GoogleAppsScript)
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

Googleカレンダーの予定を取得→LINEで通知

といったBotに挑戦してみたいと思います。

前回、今回の話のベースになる設定をお伝えしていますので、ご参考頂ければと思います。

LINE Notify

まずは、こちらのサイトからパーソナルアクセストークンを発行します。

LINE Login
Log in to LINE Notify

トークン名は通知の際に表示されるので、分かりやすい名称にしておきましょう。

トークンのコピーは忘れずに。ウィンドウを閉じてしまうと二度と表示されないので、作り直しになってしまいます。

前回の状態の続きから編集していきたいと思います。

function sendLineNotifyCalender(){
}

まずは、関数を作ります。sendLineNotifyCalender・・・あたりの名称が分かりやすいかなと思います。

Googleカレンダーから今日のイベントを取得します。

var today = new Date( );
var events = CalendarApp.getDefaultCalendar().getEventsForDay(today);

送信メッセージ用変数

取得したら、次は送信メッセージ用の変数を準備します。

//送信するメッセージ用
var message = ‘ ‘;

1日の予定を全て取得

//予定の数だけループをします
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()); //イベントの終了時刻
}

function HHmm(str){
return Utilities.formatDate(str, ‘JST’, ‘HH:mm’);
}

下の方にHHmm関数を作成しています。

Googleシートの標準の時間表示が
Thu Nov 07 2019 11:00:00 GMT 0900 (JST)
このような表示になり見づらいので、見やすいようにUtilities.formatDateで変換します。

関数で分けるのが面倒であれば、
var strStart = Utilities.formatDate(myEvents[i].getStartTime(), ‘JST’, ‘HH:mm’);
としてしまっても、良いかもしれません。

終日イベントか否か

ここは、下記のように分岐してみました。
終日イベントの場合は、開始時間と終了時間が00:00なので、両方が一致する場合は「終日」としています。他に何か良い方法があればぜひ教えて頂きたいです…!!

if (strStart === ’00:00′ & strEnd === ’00:00′){
message +=’予定:’+strTitle+’\n’
+’終日\n\n’;
}else{
message +=’予定:’+strTitle+’\n’
+’開始時間:’+strStart+’\n’
+’終了時間:’+strEnd+’\n\n’;
}

UrlFetchApp.fetch

あとは、UrlFetchAppを入れてあげれば完了です。

UrlFetchApp.fetch(“https://notify-api.line.me/api/notify”,
{
“method” : “post”,
“payload” : “message=” + message,
“headers” : {“Authorization” : “Bearer “+ token}
}
);

これでスクリプトを実行すると、スケジュールが配信されるはずです。

送信されました!
\(^o^)/

これをトリガーに設定して、例えば「毎日配信」とすると、毎朝、自分のスケジュールを配信してくれるグループになります!

このままだと自分だけのスケジュールを配信するグループになりますが、なんだか色々と応用が利きそうな予感がします!

ご参考下さい\(^o^)/

Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら