google-apps-script - 如何从另一个谷歌脚本调用仅供域内用户使用的 Web 应用程序?

标签 google-apps-script web-applications urlfetch

我将 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/

相关文章:

google-apps-script - 将撇号设置为 Google 表中的变量

google-apps-script - 具有 KEY 身份验证类型的 Google Data Studio 连接器不起作用

csv - 如何对 CSV 数据进行 curl POST?

eclipse - 无法使用 Tomcat 启动欢迎页面

node.js - 如何访问 sails.services.*?

java - 用于高度安全的Web应用程序的工具和技术

google-apps-script - 在 Google Sheets 中使用范围参数智能填写自定义函数

javascript - 如何迭代多个 URL 以在 Google Apps 脚本中获取 JSON 响应?

google-apps-script - Google Apps 脚本 UrlFetchApp 返回未经授权的错误 401

python - Google App Engine - 使用 URLFetch 的基本 Cookie 处理