GASを使ってscrapboxの更新をLINEで通知する
https://gyazo.com/4b0f11bcdb69a558d2809beb76fb5d07
scrapboxの更新通知をLINEで受け取りたい人向け
LINEで読みやすいように色々文中に挿入したり削ったりしています。
テキストベースなので改造し易いですね。
/icons/alert.icon scrapboxの行指定URLを短縮するために、script内でURL Shortener APIというものを使っています。
GASの設定から、それらを有効にしないと動かないので注意してください
code:scrapNotify.js
// この下の行からコピペ
function sendHttpPost(message){
var token = "ここにアクセストークン";
var options =
{
"method" : "post",
"payload" : "message=" + message,
"headers" : {"Authorization" : "Bearer "+ token}
};
}
function sendtoLINE(message){
sendHttpPost(message);
}
function doPost(e) {
var blob = JSON.parse(e.postData.getDataAsString());
var planetext = blob.attachments0.text; var title = blob.attachments0.title; var author_name = blob.attachments0.author_name; var originalURL = blob.attachments0.title_link; var hr = "--------------------";
var shortenURL = UrlShortener.Url.insert({
longUrl:originalURL
});
var message ="\n"+hr+"\n"+title+"\n"+hr+"\n"+textwithoutlink+"\n"+hr+"\n by "+author_name+"\n "+shortenURL.id;
sendtoLINE(message);
}
/icons/cube.icon ざっくり導入手順
1. 通知を受け取りたいLINEグループにてLINE Notify用のトークンを発行する
(セキュリティ的に管理には注意)
2. Google Apps Scriptで新規プロジェクトを作る
4. 3行目のここにアクセストークンの部分に1.で発行したトークンを貼り付ける
5. GASのメニューのリソース>Googleの拡張サービスを選択
https://gyazo.com/cc97e331bb0d1fd4a39f5ba6787dd597
一覧からURL Shortener APIを探し、右側のスライダをONにする
下側に貼ってあるGoogle API コンソールのリンクを開く
ページ上部の検索窓にURL shortenerを打ち込み、該当ページにアクセス
なんか青いボタンを押してONにする
6. GASのメニューから公開>Webアプリケーションとして導入を選択。
アプリケーションにアクセスできるユーザー欄を自分だけから全員(匿名ユーザーを含む)に変える
更新ボタンを押して操作を確定する。
ダイアログ内に表示された現在のウェブアプリケーションのURL下部のURLをコピーする
これも管理には注意してください!
7. 通知の対象にしたいScrapboxプロジェクトを開き、右上のメニューからNotificationsを選択する
Add Slack Notificationボタンを押し、URL入力欄を出す
6.でコピーしたURLをペーストし、Addボタンを押す
※この操作はプロジェクトのownerしか出来ないと思います
上記の説明は色々すっ飛ばしている気がするので、分かりづらい所があれば教えてくださいliqriq.icon
制作にあたって、参考にさせて頂いた記事ですliqriq.icon
/icons/cube.icon 今後の予定
行数の多い通知が何度も来るとうるさい
一定の行数より多くなったら自動的に省略できるようにしたいliqriq.icon
リクエストの際に様々な値を格納できるようにすれば、適切な頻度で通知が送られるようにできるのでは
/icons/cube.icon なんで作ったの
人と意見を交わすことのあるプロジェクトはやはり更新が通知された方が良い
リアクションがないとお互いの精神に悪い
相手がSlackを使っていないが、このためにわざわざ導入を勧めるほどでもない→
→それなら今連絡に使ってるLINEで通知を受け取ろう、となった
/icons/cube.icon 感想
IFTTTを経由せずにLINE Notifyを使うのは始めてだったが、より柔軟に運用できそう
IFTTTは改行まわりがなかなか使いづらい
GASの存在は今回始めて知った
「ウェブアプリケーションとして導入」周りの挙動でかなり振り回されてしまった
スクレイピングが楽そう