Session.getActiveUser.getEmail() 空白?谷歌表格

2024-06-25

我想检查点击该特定按钮的用户。当我以我的帐户登录时单击它时,它运行正常。 但如果其他人运行它,它就是空白的。如何获取登录用户的电子邮件 ID?

这是我的代码:

function check_User(){
  var ui = SpreadsheetApp.getUi();
  var usr = Session.getActiveUser().getEmail();
  ss.toast(usr);
  if( usr == "[email protected] /cdn-cgi/l/email-protection" || usr =="[email protected] /cdn-cgi/l/email-protection"){ 

    return true;
  }
  else{
    ui.alert("Not authorized");
    return false;
   }
  }

See 获取活动用户() https://developers.google.com/apps-script/reference/base/session#getActiveUser()方法说明:

如果安全策略不允许访问用户的身份,User.getEmail()返回一个空字符串。在什么情况下 可用的电子邮件地址有所不同:例如,用户的电子邮件地址 在任何允许脚本运行的上下文中都不可用 该用户的授权,例如简单的 onOpen(e) 或 onEdit(e) 触发器、Google 表格中的自定义函数或部署到的网络应用程序 “以我的身份执行”(即由开发者授权,而不是由开发者授权) 用户)。然而,如果以下情况,这些限制通常不适用: 开发者和用户属于同一个 Google Apps for Business 领域。

What execute您的应用程序部署有权限吗?如果是“作为你(所有者)”, then getActiveUser().getEmail()仅当您(脚本所有者)和用户属于同一 Google Apps 域时才会填充。

从您的代码来看,您没有使用 Google Apps 域帐户,而是使用普通消费者 @gmail.com 帐户来发布脚本。在这种情况下getActiveUser().getEmail()仅当您的脚本发布时才会填充以访问脚本的用户身份执行允许。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Session.getActiveUser.getEmail() 空白?谷歌表格 的相关文章

  • 仅生成一张电子表格的 PDF

    我需要一个只用一张电子表格创建 PDF 的脚本 我目前有一个生成 PDF 的脚本 但它处理整个文件 我无法将这些值复制到另一个文件 因为我需要导出的工作表是带有从另一个工作表中提取的数据的图形 你可以帮帮我吗 谢谢 function myF
  • 通过 Google Apps 脚本发送电子邮件时出现问题

    我有时已经成功地通过 Google Apps 脚本发送电子邮件 但是 当我打开一个新的 Google Workspace 帐户并使用相同的代码将相同的内容发送到同一个接收者时 新帐户不起作用 我收到一条 消息已被阻止 的消息 电子邮件受保护
  • 将 html 转换为 pdf 时防止表格单元格跨页破坏

    使用 Google Apps 脚本 我有一个 html 模板 我填写该模板 然后以 pdf 形式发送 通过传真和 或电子邮件 该模板包括一个带有问题 答案的两列表格 如果行数足够多 表格会在pdf中跨页分页 并且分页符通常发生在单元格的中间
  • 用于以两种方式提取特定值的 Google Sheets 公式

    我正在尝试使用 Google 中的电子表格做一些不同的事情 但我正在使用的公式遇到了一些问题 我希望有人能够指导我找到更好的解决方案或能够纠正我当前遇到的问题 首先 这是我从中提取的表 1 上的数据视图 Example Spreadshee
  • 如何设置多个过滤器?

    我有一个关于将过滤器应用于多个值以使用 Google 脚本隐藏它们的问题 我有一个具有多种状态的项目跟踪器 例如 达到目标 已完成 已取消 已延迟 等 我想编写一个脚本来设置 状态 列的筛选器值 以便标记为 已完成 或 的行 已取消 被隐藏
  • ReferenceError:未定义 ConferenceDataService

    我正在尝试开发像 Zoom 会议这样的谷歌日历插件 在 appsscript json 文件中 有以下代码 calendar conferenceSolution onCreateFunction createConference id 1
  • 对于只触及我的工作表的 Google 表格脚本,收到“此应用程序未经验证”

    我正在编写一个 Google Sheets 脚本 我只想访问与 gs 文件关联的同一电子表格中的数据 似乎我应该有权在自己的电子表格中运行脚本 但是每当我运行一个函数时 我都会得到一个This app isn t verified信息 我该
  • Google Apps 脚本 - 脚本之间的通信

    Hi我的问题如下 我想创建一个小网页 在该网页上可以在 Google 日历中创建事件 但有一些限制 就我而言 我的室友可以编辑此日历来预订洗衣机 该预订不能重叠 而且我们所有人的使用天数都是有限的 我创造了私人日历 我已经创建了验证请求的脚
  • 如何在自定义函数中评估电子表格公式?

    在电子表格中我可以输入 SIN 45 123在一个单元格中 它将被评估 如何在自定义函数中评估电子表格函数 例如 eval 函数的工作原理如下 function myFunc return Sheet eval SIN 45 123 是否可
  • 使用应用程序脚本 ColumChart Builder 为每个条形图设置单独的颜色

    我试图为使用谷歌应用程序脚本渲染的柱形图上的每个条形设置单独的颜色 我正在使用 setColor color1 color2 color3 方法 然而 这会导致所有条形都设置为 color1 我需要更改什么才能使每个条形颜色不同 我尝试过使
  • 列的总和值。循环依赖

    我不知道如何用语言表达 但我需要我所意识到的 随附的电子表格中有两张表 现在怎么样 和 应该怎么样 我在其他工作表中使用了这个公式 但现在它不能正常工作 ArrayFormula IF ROW A A 1 SUM INDIRECT D2 D
  • 如何删除“其他用户”可安装触发器?

    有没有办法删除 其他用户 可安装的触发器 足够幸运地猜测要删除哪个用户只会显示他们的触发器已禁用 但仍然需要您登录他们的 Gmail 才能删除它 当您是电子表格的 所有者 时 这有点令人担忧 您无法删除其他用户的触发器 脚本的触发器与用户的
  • Session.getActiveUser.getEmail() 空白?谷歌表格

    我想检查点击该特定按钮的用户 当我以我的帐户登录时单击它时 它运行正常 但如果其他人运行它 它就是空白的 如何获取登录用户的电子邮件 ID 这是我的代码 function check User var ui SpreadsheetApp g
  • 将 IMPORTXML Xpath 查询格式化为 Google 表格的可读数据

    我正在将 XML 数据导入到具有以下结构的 google 工作表中 编辑 网址 https sonicstate com news tools revive stats client camp 3785 xml https sonicsta
  • 用于更改 Google 文档中文档所有者的脚本

    StackOverflow 和 Google Apps 脚本的新增功能 我感谢任何帮助 指导 任务 我正在尝试编写一个 Google Apps 脚本 它将指定文件夹中所有文件的所有权转移给一个所有者 我是 Google Apps Premi
  • 使用 Google Apps 脚本将标题样式应用到单词的所有实例

    我在 Google 文档中使用 Google App 脚本 如何编写一个函数来查找某个单词的所有实例并对其应用标题样式 例如 我想要 狗 的每个实例 Cats Dogs Fish 并将 dogs 样式设置为 Heading 2 如下所示 C
  • 根据 Google Apps 脚本中的另一个数组过滤数组

    我对 JavaScript 相当陌生 可能需要一些帮助来解决我在处理 Google Apps 脚本时遇到的问题 我打算做的是根据数组过滤数据 该数组是从特定工作表中的特定单元格中获取的 其中包含我不想保留在数据中的字符串元素 换句话说 包含
  • 通过服务帐户使用高级 Google 服务

    我正在使用 Google Apps 脚本并使用一些高级服务 例如 Admin SDK 目录 API 和经销商 API 开发应用程序 看起来这些 API 是由我的 Web 应用程序在访问我的 Web 应用程序的用户上下文中调用的 它是通过 以
  • 从 Chrome 扩展程序访问 Google Apps 脚本 API 导致 403 错误

    我想通过 Google Chrome 扩展程序在外部使用 Google AppScript 功能编辑我的 Google 文档 为了实现这一目标 我执行了以下步骤 通过 Google Docs 设置脚本Tools gt Script Edit
  • Google App Script如何使用HTML服务加载不同的页面?

    如何以编程方式使用 HTML 服务在 doGet 中加载不同页面 如果不可能 为什么GAS编辑器允许创建不同的HTML页面 如果您根据 URL 中传递的参数加载不同的页面 您可以使用以下命令测试参数 function doGet e if

随机推荐