我有两个这样的Google Apps脚本:
脚本A:
这是一个Web应用程序。我像网络API一样使用它。根据参数,我将返回只能从我可以访问的SpreadSheet中读取的数据,并且将在此SpreadSheet中添加或编辑数据。
我发布了以下选项:
像我一样执行
谁有权访问网络应用程序:任何人
脚本B :(在SpreadSheet中)
我将此SpreadSheet用作输入表单。然后,我将请求通过UrlFetchApp函数编写脚本A。
问题: 当我使用UrlFetchApp函数时,响应内容是类似下图的html。我认为这是一个请求访问对话框,它将向脚本A所有者发送请求邮件。我试图共享脚本B项目来测试用户。工作正常。但是我想显示html对话框,并为测试用户做一些事情,使其可以正常发送邮件。
问题:
如何在SpreadSheet B中的对话框上显示此html内容?
如果有另一种我不能与其他人共享脚本A项目的方式,请告诉我!因为当我分享给他们时,他们可以看到我的脚本A。
我已经使用ScriptApp.getOAuthToken来验证Webapp,如下所示:
function requestAPI(request_parameter_string) {
var param = {
method : "get",
headers : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
followRedirects : true,
muteHttpExceptions:true
};
Logger.log("run to this");
var url = "https://script.google.com/macros/s/" + api_id + "/exec?" + request_parameter_string;
var response = UrlFetchApp.fetch(url,param);
if(response.getContentText() != "Success"){
return response.getContentText();
}
}
答案 0 :(得分:2)
您的情况如下。
Execute as me
和Who has access to the web app:Anyone
。如果我的理解是正确的,那么该修改如何?
https://www.googleapis.com/auth/drive
必须包含在范围中。