どうも、西山です。
最近は業務でTableauがメインになっていてScalaなどは一切やっていないのですが、
趣味でやってるGoogleの活用でも報告します。
GoogleDriveを活用して無料でhtmlを置く
自分がお世話になってるコミュニティで教えてもらったんだけど、
簡易で無料に設置できるって事で活用させてもらっています。
JS+CSS+HTMLの設置もOK
PHPが動くとあるけど、さすがによくわからず試せなかった。
※Editey側のサーバで実行して表示?とかになるのかね。
ドメインを変更できるとあるのだけど、これもまだ試していないです。
参考サイト
GoogleActionScript スプレットシートの活用 API化
スプレットシートはよく共有の為に大変お世話になってて
簡単なScriptなどを記述して遊んだりしてました。
ソシャゲのデータをまとめて共有したり活用事例は多いのですが
これをそのままAPI化して活用できる事を今頃知って遊ばせて貰ってます。
doGetとdoPostでREST経由での処理が可能になります。
また上にあるEDITEYと連携して、データベースとして活用する事が
可能です。
参考サイト
http://qiita.com/soundTricker/items/1bcfc5c9e80d29a7ae4b
活用事例 BOT作り
簡易な場合は、customize/slackbotで遊ぶ事が多いでしょうが
↑APIと連動する事で学習させたりするBOTを作成したので
やっつけですが貼っておきます。
/** * シート関係の処理をまとめる **/ var botSeetAPI = function botSeetAPI() { var sheet = SpreadsheetApp .openById("[シートID]") .getSheetByName("セリフ") var setVoice = function setVoice(word) { var data = [word] sheet.appendRow(data) return data } var setWordVoice = function setWordVoice(word) { return setVoice(getWordVoice(word)) } var isAddVoice = function isAddVoice(word, _keyword) { var keyword = _keyword ? _keyword : "覚えろ" return word.indexOf(keyword + "「") != -1 && word.indexOf("」") != -1 } var getWordVoice = function getWordVoice(word, _keyword) { var keyword = _keyword ? _keyword : "覚えろ" return word.indexOf(keyword + "「") != -1 ? word.substring(keyword.length + 1, word.indexOf("」")) : null } var randomVoice = function randomVoice() { return sheet.getRange(Math.floor(Math.random() * sheet.getLastRow()), 1).getValue() } return { setWordVoice: setWordVoice, isAddVoice: isAddVoice, getWordVoice: getWordVoice, randomVoice: randomVoice } }() function doPost(e) { var token = "-" var bot_name = "BOT名" var bot_icon = "-" var verify_token = "-" //投稿の認証 if (verify_token != e.parameter.token) { throw new Error("invalid token.") } var slack = SlackApp.create(token) var word = e.parameter.text.substring(4) var message = "" if (botSeetAPI.isAddVoice(word)) { var voice = botSeetAPI.setWordVoice(word) message = e.parameter.user_name + "さんは「" + voice + "」を教えた。" } else if (e.parameter.text.length === 3) { message = botSeetAPI.randomVoice() } return slack.postMessage(e.parameter.channel_id, message, { username: bot_name, icon_url: bot_icon }); }
参考URL
http://tech.camph.net/slack-bot-with-gas/