似て非なる2つにはまりました。
普段は医療機関で働いており、プログラミングとは全く関係ない一般人ですが、趣味でプログラミングを続けています。いろんな言語を触っていますが、久しぶりにGoogle Apps Scriptを触った時の話です。おそらく当然と思われる方が大半だと思いますが、笑い話として残しておきます。
やりたかったこと
すごく単純で「スプシからGASを介してHtmlへデータを送りたい」です。
どこでハマったのか?
function doGet(e){
var html=HtmlService.createTemplateFromFile("index.html");
html.d=sendData()
return html.evaluate();
}
function doGet(e){
var html=HtmlService.createOutputFromFile("index.html");
html.d=sendData()
return html.evaluate();
}
見てもらうとわかるように、"createTemplate"と"createOutput"の違いです。
久しぶりだったのでいろんなサイトを見ながら作っており、createOutputを使って見事にハマりました。原因が分からず。chatGPTでも聞いてみましたが、分からず。
一から書いてみようとしていた時に変換候補を見て気づきました。レファレンスにはしっかりと書かれていました。
"createOutput"の場合、データを送ることはできず、evaluateは不要でした。
結論
時にはレファレンスに戻って調べることも大事。