Google Apps Script と LINE Notify API を使って電車の遅延情報を LINE に自動で投稿するシステムを作ります

LINE Notify に登録して API Key を取得する

LINE Notifyでアカウントを作成

マイページ → アクセストークンの発行(開発者向け) からトークンを発行

Google Apps Script でコードを書く

遅延情報は鉄道遅延情報の jsonから受け取ります

2019/08/03 追記

鉄道遅延情報の API アドレスが変更されました。

https://tetsudo.rti-giken.jp/free/delay.json

function main() {
  var messege = getDelayInfo();
  sendLinePost(messege);
}

// 発行された LINE Notify アクセストークン
var LINE_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

// LINE に引数を投稿
function sendLinePost(message) {
  var token = LINE_TOKEN;
  var options = {
    method: "post",
    payload: "message=" + message,
    headers: {
      Authorization: "Bearer " + token
    }
  };
  UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

// 鉄道遅延情報を受け取りたい鉄道路線が Json 内にあれば message を返す
function getDelayInfo() {
  var json = JSON.parse(
    UrlFetchApp.fetch(
      "https://tetsudo.rti-giken.jp/free/delay.json"
    ).getContentText()
  );

  // 鉄道路線名
  var lineName = "xxxx";

  for (var i = 0; i < json.length; i++) {
    if (json[i]["name"] === lineName) {
      message = lineName + "が遅延しています";
    }
  }
  return message;
}

そして Google Apps Script のトリガーを

実行する関数 : main

イベントのソースを選択 : 時間主導型

時間ベースのトリガーのタイプを選択 : 分ベースのタイマー

時間の間隔を選択(分) : 15分おき

に設定する

これで 15 分おきに指定した路線が遅延していないかチェックし,もし遅延している場合は LINE でメッセージが来ます