编辑:这是我第四次尝试重新措辞我的问题以得出所需的解决方案。对于我的不明确,我深表歉意。
我有一个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