GAS超入門⑦ - LINEに通知してみる
はじめに
「LINEでバイトのシフトを通知する」「今日の予定を朝9時に送信する」など、身近なLINEを使うと便利な生活を実現できます。
さらに、webhookを使うことで、LINEから出社したよー、退勤したよーとつぶやくだけで自動的に勤怠システムを作れたりもします。
(これだけで3-5万円くらいで受注できると思います)
今回はまず、LINEに通知するところまでやってみましょう。
LINEのトークンを取得する
トークンを取得するには以下のLINE Notifyのページへ行ってください。
まずは、右上のログインをクリック!
LINEのログインIDとPWでログインします。
LINEのID忘れちゃったよーという人は、携帯のLINEから以下の手順で確認してください。
もとのLINE Notifyのページに戻ります。ログインに成功すると、またTOPページに戻るので、自分のアカウント名をクリックして、「マイページ」をクリックします。
画面の下の方にある「トークンを発行する」ボタンをクリック
トークン名と、トークルームを選択しろと言われますが、トークン名は分かりやすい名前を適当につけてOKです。
トークルームはテストなので、まずは「1:1でLINE Notifyから通知を受け取る」を選択してください。
「発行する」をクリックすると、トークンが表示されます。
一回この画面閉じるともう確認する手段が無いので、必ずコピーして起きましょう。
LINEにメッセージを通知してみる
さて、トークンが取得できたら準備OKです。
まずはいつもどおりスクリプトエディタを新規作成して以下のコードを書きましょう。
function sendLINE() {
let messageText = `【残業警告】すでに今月の残業時間が40時間を超えています。\n
45時間を超えないように気をつけてください`
// LINEから取得したトークン
let token = "【先程取得したトークン】"
let options = {
"method" : "post",
"headers" : {
"Authorization" : "Bearer "+ token
},
"payload" : {
"message" : messageText
}
}
let url = "https://notify-api.line.me/api/notify"
UrlFetchApp.fetch(url, options)
}
たったこれだけです。一応解説していきましょう。
まず、最初のmessageTextの部分。これはLINEに通知するメッセージです。
例えば、スプレッドシートから取得したデータをLINEに通知する場合は、ここをスプレッドの値を代入する感じになります。
さて、ここでは、HTTP通信するのに必要な情報を設定してます。
今回は、APIからデータを取得するのではなく、APIを通じてデータを送信(上のメッセージ)するので、その場合のリクエストメソッドはPOSTでしたね。
また、headersの中に、認証情報を入れてます。ここに先程取得したトークンを入れることで、「ぼく」と認識されます。
payloadの中に送信するメッセージを入れてあげましょう。
さて最後、urlに記載してるのは、LINE NotifyのURLです。
これに、UrlFetchAppオブジェクトのfetchメソッドをつかってLINE Notify APIのURLに対して、上のオプション情報(POSTで、トークンを指定して、送信するメッセージを入れて)送信します。
これを実行すると...
さぁ!自分の携帯を確認してみてください。
通知がきてます!
簡単ですね!
実践編で利用するための基礎編はすべて無料公開してます。 基礎編のモチベーション向上のためにサポートして頂けるとめちゃくちゃ喜びます!! だいたい作業工数は1記事あたり4-5時間程度かけて【分かりやすい】【知識が身につく!】を意識して作っておりますので、今後も頑張っていきます!