初めて質問をさせていただきます。
プログラミング初心者のため、ヘンテコな内容となっておりましたら申し訳ございません。。
■現在のステイタス
現在、
①SlackのSlashCommandを使ってリクエストを送り、
②GoogleAppsScriptコマンドでGoogleSpreadSheetから値を取得し、
③レスポンスされた値をSlack上に表示する
というシステムを作っております。
■問題
③でレスポンスが返ってくるまでの時間が3000msを超えて、以下のようなタイムアウトエラーが出てしまいます。(※Slackでは、レスポンスまでに3000msを超えるとタイムアウトが起こるそうです)
解決策としてはStack Overflowにそれらしいものがあったのですが…。
How to avoid slack command timeout error?
http://stackoverflow.com/questions/34896954/how-to-avoid-slack-command-timeout-error
こちら、頑張って訳しながら読んだのですが、内容がいまひとつ理解できず…どなたか解説をいただけませんでしょうか…?また、他にも良さそうな解決策がございましたら、ご指導をいただけますと幸いです。
■参考
参考までに、現在作っているWebアプリの概要を下記いたします。
(タイムアウトエラーがでなければ、問題なく機能することは確認済みです)
Javascript
1function doPost(e){ 2 var sheet = SpreadsheetApp.openById('スプレッドシートのID').getSheetByName('対象のシート'); 3 4 5 6 //①入力された案件IDの行を取得する関数 7 function seachRow(){ 8 var rowCount = 2; 9 10 for(var i=2;i<=sheet.getLastRow();i++){ 11 if(sheet.getRange(i,1).getValue() == e.parameter['text']){ 12 var resultRow = sheet.getRange(i,1).getValue(); 13 break; 14 }else{ 15 rowCount += 1; 16 } 17 18 } 19 20 return rowCount; 21 } 22 23 //②行を格納 24 var row = seachRow(); 25 26 //③で格納した行のカラムA取得 27 var A = sheet.getRange(row,3).getValue(); 28 29 //③で格納した行のカラムB取得 30 var B = sheet.getRange(row,4).getValue(); 31 32 //③で格納した行のカラムC取得 33 var C = sheet.getRange(row,7).getValue(); 34 35 //③で格納した行のカラムC取得 36 var D = sheet.getRange(row,8).getValue(); 37 38 //Return 39 return ContentService.createTextOutput(A+B+C+D); 40 41}

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/10 01:06
2016/02/10 05:12