指定したシートにhelloを入力して
そのシートの何行目に入力したかSlackに返す例です
bot@helloと投稿後
SlackにシートのURLと行数が返ってくる
指定したシートにhelloが入力される
- Google Apps Scriptで応答用のアプリケーションを作る
- Slack側の設定をする
1, 2の方法は以下の記事に書きました
コード.gsの例です
コード.gs
var TOKEN = "取得したtoken" var POST_URL = 'https://slack.com/api/chat.postMessage'; function doPost(e) { var text = e["parameter"]["text"]; var value = text.replace("bot@", ""); value = value.replace(/\s/g, "+"); var ss_url = "URL"; var ss = SpreadsheetApp.openByUrl(ss_url); var sh = ss.getSheets()[0]; var row = sh.getLastRow() ; var next_row = row + 1; sh.getRange("A" + next_row).setValue(value); reply(ss_url, row); } function reply(ss_url, row){ var payload = { token: TOKEN, channel: '#general', text: ss_url + "\n" + row + "行目に入力しました", icon_emoji: ':sunny:', username: 'hello bot' }; var params = { 'method': 'post', 'payload': payload }; UrlFetchApp.fetch(POST_URL, params); } |
意訳.gs取得したtokenを設定する メッセージを送るurlを設定する この機能は以下を実行する 送信されたテキストを取得して "bot@"を削除して 空白(スペース、タブ、改行)を+に置き換えて スプレッドシートのURLを設定して スプレッドシートを取得して 先頭のシートを取得して そのシートでデータが入っている最終行を取得して 次の行を選択して A列のその行に入力して reply()にss_url, rowを渡す この機能は以下を実行する payloadのデータを作る 取得したtokenを設定 投稿するchannelを設定 投稿するtextを設定 アイコンの絵文字を設定 usernameを設定 paramsのデータを作る methodをpostに設定 payloadのデータを設定 paramsを付けてslackのAPIをたたく |