LoginSignup
5
9

More than 5 years have passed since last update.

Google Apps Script(GAS)から LINE notify API を利用して通知を送る

Posted at

はじめに

インターネットから隔絶された独自の生態系を営む LINE ですが LINE notifyを利用すればHttp から通知を送ることは可能です。
あくまで通知なので自分のアカウントからのトークではなく LINE notifyからのアナウンスという形で通知となります。アイコンなどで発信者を判別できないので使い方には注意が必要です。また公開されている API は送信だけの一方通行となるのでタイムラインを追いかけるのは不可能です。

ちょっと制限された機能になっていて利用価値は少なそうに思えますが うまく使えばそこそこ便利ではないかと思います。例えばスマホは手元にない・PC はあるけど line アプリは入っていないような状況から LINE 送れたり LINE を使ってメモしたりできます。

アクセストークンの準備

LINE notifyからログインして アクセストークンを発行してもらってください。
トークン名を記入するところは適当に記入しても構いませんが、うまく命名すれば発信者を区別する手がかりにもなりますのでわかりやすい名前を付けた方が良いでしょう。
トークルームの選択はテスト段階なので一対一を選ぶのが良いかもしれません。
トークンが表示されたらコピーしてどこかのファイルにでも貼り付けておいてください。
トークンは一度しか表示されませんが万が一忘れてしまったら削除してもう一度作成すれば良いかと思います。

スクリプトの準備

Google ドライブからスプレッドシートを新規作成します。
メニューのツールからスクリプトエディタを開きます。
コードはこんな感じで良いのではないでしょうか。

linenptify.gs
var TOKEN = PropertiesService.getScriptProperties().getProperty("LINE_API_TOKEN");

// メッセージを LINE する
function postUpdateStatus(message) {
  var res = null;
  var options = {
    "method": "post",
    "payload": "message=" + message,
    "headers": {"Authorization" : "Bearer "+ TOKEN}
   };
  res = UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
  return res;
}

アクセストークンをコードに直接記入するのは気持ち悪いのでスクリプトのプロパティに分離しました。
メニューのファイルからプロジェクトのプロパティ>スクリプトのプロパティでトークンを設定してください。
キャプチャ.PNG

postUpdateStatus関数のパラメータにメッセージを渡して実行すれば通知されるはずです。
メッセージをスプレッドシートから読み取りたい場合は以前に書いたGoogle ホームからGoogle スプレッドシートを中継して ツイートするが参考になるかもしれません。と言うか私は積極的にあちらのコードを流用しています。Google Home から LINE notifyで通知することもできるのですが、やはり不穏な半角スペースが挟まれるのと認識ミスが怖いので 。

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9