【发布时间】:2021-01-04 11:04:45
【问题描述】:
我正在尝试通过 Google 脚本将电子邮件地址从 google 表格发送到外部网页,但它似乎不起作用。
从阅读其他类似问题来看,我似乎需要 doPost() 函数,但我不确定如何将它合并到我的脚本中。
这是我的谷歌脚本
function getEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var myUrl = 'https://my.url/';
if(data) {
for(var i = 0; i < data.length; i++) {
if(i !== 0) {
postToForm(myUrl, data[i][0]);
}
}
deleteData(sheet, data);
}
}
function postToForm(url, data) {
UrlFetchApp.fetch(url + 'user/add/?email=' + data);
}
function deleteData(sheet, data){
for (var i = data.length; i>1; i--) {
sheet.deleteRow(i);
}
}
这里是接收脚本:
<script>
window.addEventListener('DOMContentLoaded', async () => {
if (location.search) {
const urlSearchParams = location.search;
try {
await DB.ready();
const email = getUrlParameter('email', urlSearchParams);
if (email) {
emailSignUp(email)
return;
}
} catch (error) {
console.log(error);
showSnackBar('Something went wrong', false);
return;
}
}
showSnackBar('Something went wrong', false);
});
function getUrlParameter(key, urlSearchParams) {
key = key.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + key + '=([^&#]*)');
var results = regex.exec(urlSearchParams);
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
}
</script>
也许我需要将 postToForm 函数更改为 doPost 并以这种方式添加?
谢谢
【问题讨论】:
-
您可以使用此代码生成器通过 Google 脚本发出 HTTP 请求labnol.org/apps/urlfetch.html
标签: javascript google-apps-script google-sheets