我将 Google 脚本部署为 Web 应用程序,不幸的是,由于公司政策,我必须部署它并让域内的任何人都可以使用它,即使是匿名的人也不行。
这是网络应用代码
function doPost(e) {
var functionName = JSON.parse(e.postData.contents).functionName;
return ContentService.createTextOutput(JSON.stringify({result:functionName}))
.setMimeType(ContentService.MimeType.JSON);
}
这是我试图通过它调用网络应用程序的 Google Script 代码,我试图在请求 header 中传递访问 token 。
function callWebApp(functionName) {
var response = UrlFetchApp.fetch(url, {
headers: {
"Authorization": "Bearer " + ScriptApp.getOAuthToken(),
},
contentType: 'application/json',
muteHttpExceptions:true,
method : 'post',
payload:JSON.stringify({functionName: functionName}),
});
Logger.log(response)
}
最佳答案
您可以使用类似Session
服务的东西来过滤掉不在您公司域中的用户。
例如:
var user = Session.getActiveUser().getEmail();
if(user.split('@')[1] === 'your.company.domain') {
//do something
}
关于google-apps-script - 如何从另一个谷歌脚本调用仅供域内用户使用的 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45746595/