金曜ロードShow!の放送予定をLINEに通知

以下の手順に従って設定していけば毎週木曜の夜と金曜の朝に，金曜ロードShow!の放送予定がLINEに送られてきますよってやつです．
ひたすらやることだけ書いてあります．

手順
1. LINE Notifyの設定
2. Google Apps Scriptの設定
3. Google Apps Scriptでプログラミングチョトヤル

# LINE Notifyの設定
まずLINE Notifyに自分のLINE IDでログイン．

<img width="700" alt="Screen Shot 2018-03-26 at 23.49.33.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/afac2e5e-39e8-c35f-1cb4-7a1c6f44e410.jpeg">

マイページに移動．

<img width="700" alt="Screen Shot 2018-03-26 at 23.56.50.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/6d543cba-cb94-6d5e-3f23-ef67ac664c18.jpeg">

「トークンを発行する」というボタンを押す．

<img width="600" alt="Screen Shot 2018-03-27 at 0.10.00.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/ee86eafc-b0d1-f9c1-a26f-9de38fd23ff7.jpeg">

トークン名と通知を送信するトークルームを選択．
自分だけに通知を送る場合は「1:1でLINE Notifyから通知を受け取る」で良いと思います．

<img width="300" alt="Screen Shot 2018-03-27 at 0.10.00.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/ddcfad25-e1fe-3abc-e633-90d7247169cb.jpeg">

ちなみにトークン名を上図のようにするとこんな感じ(1行目)の通知が来ます．

<img width="250" alt="Screen Shot 2018-03-27 at 0.40.12.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/4dcc6982-b23f-0e7b-6fb5-6978032c7581.jpeg">

「発行する」を押すとトークンが発行されるので，適当な場所にコピペしておいてください．
「このページから移動すると，新しく発行されたトークンは二度と表示されません」と少し怖いことが書いてありますが，間違えて閉じてしまっても再度発行すれば良いので問題ありません．

<img width="400" alt="Screen Shot 2018-03-27 at 0.40.12.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/102ccb51-3460-cfab-03f9-6215ba12b582.jpeg">

これでLINE Notifyの設定は終わりです．
もし，通知を送信するトークルームで複数人グループを選択した場合は「LINE Notify」くんを該当グループに招待してあげてください．

# Google Apps Scriptの設定

適当なブラウザでGoogle Driveを開き，ヘッダーの「新規」→「その他」→「Google Apps Script」と進む．
もし，「その他」の中に「Google Apps Script」がなかったら「その他」→「アプリを追加」から「Google Apps Script」を追加．

<img width="700" alt="Screen Shot 2018-03-27 at 1.57.46.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/2e3aa2c9-9ed5-acb0-bff6-b7b062ebfcab.jpeg">

Google Apps Scriptを起動すると下のような画面が出てくると思います．
「無題のプロジェクト」と表示されているところに適当なプロジェクト名を入れてください．

<img width="700" alt="Screen Shot 2018-03-27 at 2.08.26.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/f4586b78-185a-3de0-8cb1-471a4c38cff4.jpeg">

「リソース」→「ライブラリ...」と進むと下のような画面が出てきます．
「ライブラリを追加」の右の空欄に「M1lugvAXKKtUxn_vdAG9JZleS6DrsjUUV」をコピペして，「追加」をクリックしてください．

<img width="500" alt="Screen Shot 2018-03-27 at 19.26.20.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/4ecc6e3f-05e5-08aa-44da-8fda9cb29b53.jpeg">

下のようになればOKです．
「保存」を押してGoogle Apps Scriptの設定は終了です．

<img width="500" alt="Screen Shot 2018-03-27 at 19.32.53.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/f73915fd-5d38-04c0-a8a7-08c668939dfd.jpeg">

# Google Apps Scriptでプログラミングチョトヤル

プログラミングチョトヤルといっても下のコードをコピペし，1行目の「*****」をLINE Notifyの設定で取得したトークンに置き換えるだけです．`"`←こいつは残したままで．
最初から書かれている4行は必要ないので消してください．

```javascript
var lineToken = "*****";

function today() {
  var date = new Date();
  
  main(date);
}

function tomorrow() {
  var date = new Date();
  date.setDate(date.getDate() + 1);
  
  main(date);
}

function main(date) {
  var text = "\n" + Utilities.formatDate(date, 'JST', 'yyyy/MM/dd');
  
  var url_root = "https://kinro.jointv.jp"
  var url = "https://kinro.jointv.jp/lineup"
  var html = UrlFetchApp.fetch(url).getContentText();
  var doc = Parser.data(html).from('<section id="after_lineup">').to('</li>').build();
  var title = Parser.data(doc).from('<div class="title">').to('</div>').build();
  var path = Parser.data(doc).from("<a href='").to("'>").build();
  
  sendToLine(text + ' 放送' + '\n' + title + '\n' + url_root + path);
}

function sendToLine(text){
  var token = lineToken;
  
  var options =
   {
     "method"  : "post",
     "headers" : {"Authorization" : "Bearer "+ token},
     "payload" : "message=" + text
   };
  
   UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
```

こんな感じになればOKです．

<img width="848" alt="Screen Shot 2018-03-27 at 22.44.44.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/97625779-ed9a-8dfa-59af-b86572d217ff.jpeg">

ここで少しテストします．
上図の「関数を選択」から「today」を選択し，その２個左にある三角マークを押してください．
認証に関するポップアップが出てくることがありますが，許可してください．
今日の日付が入ったLINEが来たら成功です．
もしLINEが来なければここまでの作業を見直してみてください．

最後に定期実行設定です．
三角マークの左の時計をクリックすると下図が出てくるので，赤枠の文字をクリックします．

<img width="848" alt="Screen Shot 2018-03-27 at 22.44.44.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/5e43eb59-7ee1-7ac1-0636-7ce261153b18.jpeg">

下図と同じような設定をして，「保存」を押してください．
時間は自分の好きな時間で設定してください．

<img width="849" alt="Screen Shot 2018-03-27 at 22.53.40.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/245786/bd2ec637-c92e-68b6-a611-0f4babb3b3b0.jpeg">

以上で終わりです．

# 参考資料
[金曜ロードシネマクラブ](https://kinro.jointv.jp/)