Userscript (Javascript):如何处理来自Google Apps Script的异步回调



编辑:这是我第四次尝试重新措辞我的问题以得出所需的解决方案。对于我的不明确,我深表歉意。

我有一个Tampermonkey用户脚本,可以帮助我将数据发送到Google Sheets数据库。

用户脚本在运行它的网页上创建一个超链接,当我想将数据发送到数据库时,我单击将在新选项卡中打开的超链接:

<a href='https://script.google.com/macros/s/XXXXXXXXXXXX/exec?data1=data' target='_blank'>Click here for a new tab</a>

我的 Google 脚本处理请求,并通过此过程返回异步回调结果:

return ContentService
.createTextOutput(e.parameter.callback+"("+ output + ");")
.setMimeType(ContentService.MimeType.JAVASCRIPT);

新选项卡将重定向到浏览器中的"https://script.googleusercontent.com/macros/echo?user_content_key=XXXXXXXXXXXX",并显示返回的以下两个结果之一:

{"result":"success"}

{"result":"duplicate"}

根据结果,我将手动执行某些操作。

我正在寻找一种方法来处理来自用户脚本中Google脚本的异步回调,这样我就不必再手动执行操作。我还没有弄清楚如何处理用户脚本中的异步请求。

有人能为我提供一些用户脚本的代码,该代码将处理异步回调并通过 console.log(( 记录结果吗?

任何帮助,不胜感激。谢谢!

在另一个 SO 问题的帮助下.log我终于能够通过控制台记录结果。

function getLink (url) {
GM_xmlhttpRequest ( {
method: 'GET',
url: url,
onload: function (response) {
var resp = response.responseText;
console.log (resp);
// DO EVERYTHING THAT REQUIRES resp HERE.
}
} );
}

另外,我必须将以下内容添加到我的用户脚本中:

// @grant       GM_xmlhttpRequest

最新更新