我是 Vue.js 和 javascript 的新手。我试图将一些数据发送到谷歌工作表但没有成功。
我找到了一些关于如何发布数据的信息,但我的数据没有存储在表单中。所以我在没有运气的情况下附加了一个空的“表单”,其中包含我想发布的数据。
这是我发布数据的方式:
saveToGoogleSheet () {
const scriptURL = 'https://script.google.com/macros/s/.../exec'
const form = ''
var sendingData = new FormData(form)
sendingData.append('starRating', this.feedbackData.starRating)
fetch(scriptURL, {method: 'POST', body: new FormData(sendingData)})
.then(response => console.log('Success!', response))
.catch(error => console.error('Error!', error.message))
}
这是谷歌脚本
var sheetName = 'Sheet1'
var scriptProp = PropertiesService.getScriptProperties()
function intialSetup () {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet()
scriptProp.setProperty('key', activeSpreadsheet.getId())
}
function doPost (e) {
var lock = LockService.getScriptLock()
lock.tryLock(10000)
try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
var sheet = doc.getSheetByName(sheetName)
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1
var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : e.parameter[header]
})
sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))
.setMimeType(ContentService.MimeType.JSON)
}
catch (e) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
.setMimeType(ContentService.MimeType.JSON)
}
finally {
lock.releaseLock()
}
}
但是谷歌电子表格没有被填充,但如果我 console.log 数据存在。
1)我做错了什么?
2)另外,有没有办法在不附加空表格的情况下发送数据?
3)最后,如果我想发送更多数据,我可以做一些类似的事情吗?
sendingData.append({
'starRating' = this.feedbackData.starRating
'nowReading' = this.feedbackData.nowReading
})
还是我需要做:
sendingData.append('starRating', this.feedbackData.starRating)
sendingData.append('nowReading', this.feedbackData.nowReading)
还是什么?
陪伴而非守候
相关分类