【发布时间】:2014-02-04 02:16:32
【问题描述】:
我正在尝试使用 UrlFetchApp 从 Google 应用程序脚本获取另一个 Google 应用程序脚本。我试图使它尽可能基本,但它仍然给我一个错误。 第一个名为“frontend”的脚本作为用户执行,第二个脚本“backend”作为“backend”的所有者执行。
前端
var backend = 'https://script.google.com/macros/s/AKfycbwdwQdYYMwqofjEqFn3ozz_LqQ87qj7ZX19sYmelX9dUtP8aNxf/exec';
function doGet(e) {
return UrlFetchApp.fetch(backend)
}
后端
function doGet(e) {
return doPost(e);
}
function doPost(e) {
var app = UiApp.createApplication();
app.add(app.createLabel('Backend'));
return app;
}
前端发布here
额外信息
Logger.log(UrlFetchApp.getRequest(backend)) =>
{useIntranet=false,
followRedirects=true,
payload=,
method=get,
validateHttpsCertificates=true,
contentType=application/x-www-form-urlencoded,
url=https://script.google.com/macros/s/AKfycbwdwQdYYMwqofjEqFn3ozz_LqQ87qj7ZX19sYmelX9dUtP8aNxf/exec}
- 改用 html 表单,我可以正确地将 POST/GET 参数从一个 google 脚本发送到另一个使用隐藏的输入元素来定义参数。
- 如果我尝试使用 javascript - jquery ajax 执行 html 表单正在执行的操作,则请求会返回错误。
我很困惑为什么 google 脚本中的简单 html 表单可以请求另一个 google 脚本,但从 google 脚本到另一个 google 脚本的 javascript 请求被似乎是安全策略问题拒绝。
【问题讨论】: