2 回答
TA贡献1757条经验 获得超8个赞
您已经部署了 Web 应用程序以接受价值。
你想发送的对象,使这些值像下面的图像的电子表格
{"userName":"","userNumber":"","friendName":"","friendNumber":"","inviteMessage":"","nowReading":"S2/E1/","starRating":"4"}
用fetch()
的Javascript。
如果我的理解是正确的,这个修改怎么样?
改装要点:
当使用 POST 方法发送值时,可以使用
e.postData.contents
frome
of检索该值doPost(e)
。但在这种情况下,该值需要作为字符串发送。所以请使用
JSON.parse()
.所以请
body: JSON.stringify(this.feedbackData)}
在fetch()
旁边使用。
修改后的脚本:
请修改如下。
Google Apps 脚本:
从:
var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : e.parameter[header]
})
至:
var params = JSON.parse(e.postData.contents); // Added
var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : params[header]; // Modified
});
Javascript:
请在您的问题中使用上述“更新”部分的脚本。
saveToGoogleSheet () {
const scriptURL = 'https://script.google.com/macros/s/.../exec'
fetch(scriptURL, {method: 'POST', body: JSON.stringify(this.feedbackData)})
.then(response => console.log('Success!', response))
.catch(error => console.error('Error!', error.message))
}
笔记:
当您修改 Web Apps 的 Google Apps Script 时,请将 Web Apps 部署为新版本。这样,最新的脚本就会反映到 Web Apps 中。请注意这一点。
我不确定你的实际电子表格。如果与上图不同,请根据您的情况修改脚本。
添加回答
举报