![](/img/trans.png)
[英]How to send whole row of data in my spreadsheet via email based on single cell edit (Google Script / GAS)
[英]I cannot send a part of data from chrome extension to Spreadsheet via GAS
我想通过 GAS 将一些数据从 chrome 扩展发送到电子表格,但只删除了“最后一个”,尽管“标题”和“URL”已成功发送。
因此,您能否检查一下代码?
const gasUrl = "here is my spreadsheet GAS url";
chrome.tabs.query({active: true, currentWindow: true}, tabs => {
title = tabs[0].title;
url = tabs[0].url;
last = url.slice(-8); // I want to send url's last 8 letters.
console.log(`Title: ${title}`);
console.log(`URL: ${url}`);
console.log(`Last: ${last}`); // I can see "last" is worked as intend here.
});
$(function() {
$('#doit').on('click', function() {
post2GAS(title, url, last);
});
});
function post2GAS(title, url, last){
const data = {
title: title,
url: url,
last: last
}
$.ajax({
type: 'POST',
url: gasUrl,
data: JSON.stringify(data)
})
.done(function (data) {
console.log("success"); // I can see success on console.
})
.fail(function (jqXHR, textStatus, errorThrown) {
console.log("failed");
console.log("XMLHttpRequest : " + jqXHR.status);
console.log("textStatus : " + textStatus);
console.log("errorThrown : " + errorThrown);
})
.always((data) => {
console.log("finished"); // I can see finished on console.
});
}
似乎 GAS 无法正确捕获“最后一个”参数,但我找不到具体原因。
这是 GAS 代码。
function doPost(e) {
var params = JSON.parse(e.postData.getDataAsString());
var title = params.title;
var url = params.url;
var last = params.last;
var sheet = SpreadsheetApp.openById('Sheet ID').getSheetByName("Sheet Name");
sheet.appendRow([title, url, last]);
var output = ContentService.createTextOutput();
output.setMimeType(ContentService.MimeType.JSON);
output.setContent(JSON.stringify( { sucsess: true }));
return output;
}
谢谢,
非常抱歉,我还没有部署新的 GAS。 当我部署时,它解决了。
因此,我在这里关闭这张票。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.