電子書籍の厳選無料作品が豊富!

https://www.willstyle.co.jp/blog/4600/
このサイトの最初のscriptを書いたのですが、10行目でエラーが発生してしまいました。
解決方法と、今後の学習のために、Apps Scriptの初心者向けの学習サイト等あれば教えてくれるとありがたいです。
また、どうしてそれでエラーが解決できたのかも教えていただけたらと存じます。
実際に書いたものです。(下記)
function doPost (e){
//'シート名'を変更する
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('date')

//Outgoing Webhookのトークン
var token = 'qd41iWlGQ3SWuCBIo9LwsU0l'

//送られてきたトークンが正しければ勤怠を記録する
//parameterは必要に応じて変更してください
if (token == e.parameter.token){
var datetime = new Date();
var date = (datetime.getFullYear()+'/'('0' + (datetime.getMonth()+1)).slice(-2) + '/' + ('0' + datetime.getDate()).slice(-2));
var time = (('0' + datetime.getHours()).slice(-2) + ':' + ('0' + datetime.getMinutes()).slice(-2));
var user_name = e.parameter.user_name;
var trigger_word = e.parameter.trigger_word;
var text = e.parameter.text;

//追加する配列を記述
Array = [date,time,user_name,trigger_word,text]

//シートの最下行に配列を追加
sheet.appendRow(Array);
}

return
}

質問者からの補足コメント

  • うーん・・・

    +を入れましたが、やはり10行目でエラーが出てしまいました。
    どうすれば良いでしょうか。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/01/13 00:36
  • どう思う?

    やはりエラーが出てしまいました。
    どうすれば良いでしょう?

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/01/13 11:59

A 回答 (2件)

もしかしたら、GAS側で


「実行」を押しているのでしょうか。

そのままでは、POSTデータを受け取っていないので、
doPost(e)のeが空ですから、e.parameterでエラーになります。

参考にされているページに書かれている手順の通り、
GASの入力が終わったら、slackの設定をして、
slackで「出勤」と入力してみると良いと思います。

参考にされているページは、プログラムの内容は書かれていますが、
どんな通信かは書かれていないので、
これだけで理解することは不可能だと思います。
まずは、TCP/IP,HTTPの入門書を読んでみてください。
この回答への補足あり
    • good
    • 0

var date = (datetime.getFullYear()+'/'('0' + (datetime.getMonth()+1)).slice(-2) + '/' + ('0' + datetime.getDate()).slice(-2));



のところで、年と月のあいだの '/' のあとに、+ が足りていないようです。
ここが修正されて、slack側の設定が正しければ動くと思います。

GASについて初心者向けのサイトは分かりませんが、
書籍なら、「詳解! Google Apps Script完全入門」が
入門レベルから書かれており、分かりやすかったです。

ただし、あくまでもGASの説明であり、
slackとの連携などは書かれていません。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!