既存のコメント機能探したら
・なんらかのアカウントでログインした人は書き込める
・ログイン不要だけど無料プランは一日に100コメントまで
・てめえでサーバー立てろ
で困ったにゃんこになった。
”でゆっちカウンター”という闇のおもちゃを作ったノウハウを利用することにした。
このJUN汁wおもちゃばこ。はgoogleサイトっていうので作られているんだけど、
これ、実はgoogle driveの機能の一部。君もすぐに作れる。
で、どうせgoogle driveなんだからgoogleスプレッドシートを使うことを思いついた。
スプレッドシートはGAS(google app script?)ていうのを使うと
書き込みがプログラムでできる。
(ここでスプレッドシートの編集権限は俺にしか設定してないので、
すべてのGASプログラムは俺が実行していることになっている)
あとはサイトにGASぶち込めば終わり。簡単だね。
お気持ち
「スプレッドシートをページごとに用意して…っていうのはめんどくさすぎるのでやりたくない」
なので、コメントは書き込まれたページごとに識別用の文字用意して
読み込むときは全部のコメントからページにあったやつだけを表示している。
いずれ読み込みが無限時間になる。そんときは、どんまい
(一応一番コメントが爆発するトップぺージはシート分けた)
最終的に
コメント機能が欲しいページにGASを起動するリンクを置いて
URLにページ判別文字列を引数としてぶちこむ形になった。
実装
ガバガバ実装の紹介。
・HTMLを呼び出すためのGASを作る(doGet(param)くん)
"GASのURL"?page="ページ判別文字列"
を読み込むとこいつが動く。
var page_name = param.parameter.page//引き数を格納
var html=HtmlService.createTemplateFromFile('comment_form.html')//HTMLを呼ぶ準備
html.page=page_name//HTMLに引数をぶら下げる
return html.evaluate()//HTMLを表示
ってできる。やったね。
・呼び出されたHTML
<?= page ?>ってやると引数の中身を召喚できる。
ボタンを用意して、スプレッドシートに書き込むGASを呼ぶ。
読み込むGASボタンもね。
・書き込むGAS
スプレッドシートを破壊してくる文字を
殺して書き込む
・読み込むGAS
言うことはない
まとめ
GASはもっさりしてる?遅い。
いずれ使えなくなるけど、
そのときには強くなったJUN汁wがなんかいい感じにする。
というかたぶん素直にプロが作ったやつ使う(真の天才)
↓コメント格納されてるやつ