gpt4 book ai didi

javascript - google.script.run独立使用

转载 作者:行者123 更新时间:2023-12-03 11:08:50 35 4
gpt4 key购买 nike

现在 Google Apps 脚本的客户端与 HtmlService 是独立的,我希望能够选择独立于客户端进行开发(主要是为了获得普通编辑器、js 和 css 的优势)文件并且不受沙箱的困扰)。这可能意味着在服务器端脚本上实现我自己的 doGet/doPost,但随后我就失去了使用 google.script.run 直接调用函数并接受结果的好处。

那么,有没有办法独立使用google.script.run

最佳答案

您可以执行一些操作,例如从网站中的 AJAX 请求调用 Google Apps 脚本内容服务并获取返回值。

Google Documentation - Content Service

它不使用 google.script.run API,但基本上是一样的。如果您想要运行 Apps 脚本服务器端代码而不向用户显示任何内容,那么您可以通过对 Apps 脚本内容服务应用 URL 进行 JavaScript(jQuery 等)AJAX 调用来实现此目的。

假设您有一个名为“runAjaxToGetNames”的 JavaScript 函数。它是通过以下行调用的:

runAjaxToGetNames("https://script.google.com/macros/s/AKfycbyFyODk/exec");

传递的参数是 Apps 脚本独立内容服务应用的 URL。

AJAX 函数如下所示:

function runAjaxToGetNames(argURL_forAJAX) {

console.log('runAjaxToGetNames ran: ' + argURL_forAJAX);

if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
//console.log'xmlhttp.readyState: ' + xmlhttp.readyState);
if (xmlhttp.readyState===4 && xmlhttp.status===200) {
//console.log'xmlhttp.responseText: ' + xmlhttp.responseText);

glblStoreNames.names = xmlhttp.responseText;
//console.log'return value into the global object?: ' + glblStoreNames.names);
//Call a function to populate the store names
populateStoreNames();

};
};

xmlhttp.open("GET",argURL_forAJAX,true);
xmlhttp.send();
};

Apps 脚本内容服务是一个独立的文件,仅包含以下代码:

//This Apps Script is to get a list of all the names out of a Google Doc.
function doGet() {
var theGogDocReference = DocsList.getFileById('YWY4ZmM5OQ_File_ID_Here');
var theContent = theGogDocReference.getContentAsString();
return ContentService.createTextOutput(theContent);
};

关于javascript - google.script.run独立使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27701079/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com