我想检查一个(独立的,匿名的)Google Apps脚本的引用URL,如果引用URL是两个已知的“良好” URL之一,请采取一些措施。

有没有办法做到这一点? 到目前为止,我提出的最好的解决方案包括客户端代码和不幸的document.referrer始终以https://script.google.com开头,而不是带有Google Apps脚本链接的页面地址:

代码

function doGet() {
  var t = HtmlService.createTemplateFromFile('index');
  t.heading = "My heading"
  return t.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME)
}

function validReferrer(ref) {
  Logger.log("Referrer is: "+ref)
  if (ref.indexOf('my-good-url.com') > - 1 ) {
    return true
}
else 
  return false
}

index.html

<div>
<script>
  function onSuccess(a) {
  alert(a);
  }
  // referrer always begins https://script.google.com
  var ref = document.referrer || "doesn't have a referrer"; 
  google.script.run
  .withSuccessHandler(onSuccess)
  .validReferrer(ref)
</script>

<h1><?= heading ?></h1>
</div>

理想情况下,我只想在服务器端运行检查。 本页所述,“ 出于安全原因,内容服务返回的内容不是从script.google.com提供的,而是重定向到script.googleusercontent.com上的一次性网址 ”,并且可以肯定地得到了确认我的发现。 有趣的是,当我将沙盒模式更改为NATIVE ,完全没有返回引用人。 我猜caja正在过滤我的客户端代码。

真正的引荐页始于http:// (在我的浏览器的Web调试器控制台中通过发出document.referrer )。

  ask by Jimadine translate from so

本文未有回复,本站智能推荐:

1回复

带有表格的Google Apps脚本,用于检查文档网址是否“共享”

有谁知道“ IF”是否可以将Google Apps脚本与Google表单结合使用来自动检查“ IF”,粘贴到表单中的文档URL是“共享”文档吗? 我是一名老师,我使用Google表单收集学生的作业,但是我遇到的最大问题之一是,学生会定期向“非共享”文档中提交url以进行评分。 我想通过检
2回复

根据DocList在Google网站中嵌入表单列表

我使用在Google Site中嵌入Google DocList中提供的代码在Google Sites页面中嵌入文件列表(从Google驱动器的文件夹中获取)。 我想知道,是否有一种方法可以修改输出页面上的链接,以使它们直接指向电子表格的实时表单,而不是脚本中设置的电子表格模式。
2回复

Google课堂-使用应用脚本添加学生

有1个域和一个子域-分别为school.com和students.school.com。 我已经使用Google Apps脚本为每个班级创建了Google教室。 现在出现了问题, 我正在尝试将老师和学生添加到Google课堂中。 我正在使用的“超级管理员”帐户是我的主域(sc
1回复

Google云端硬盘(GSuite)中文件夹和文件的不同角色

我有一个带有用户组的GSuite,每个组都是组织中的一个部门。 我现在获得了以下权限: 每个部门都可以编辑自己的文件夹 每个部门都可以查看其他部门的文件夹 只有我希望每个可以查看内容的部门,也可以对GDoc文件和Spreadsheet文件进行注释。 我知道我可以分别
3回复

Google Apps 脚本:GmailApp 中的多个收件人?

我可以通过 GmailApp.sendEmail() 向多个收件人发送电子邮件吗? 我试过将收件人地址存储为一个数组,但它似乎没有发送任何一个。 谢谢!
1回复

GAS - 为企业购买应用程序

我正在努力帮助学校转向“Google Apps”,但我担心。 我需要的功能之一是在表单提交时检索当前用户的电子邮件。只有在我购买“Google Apps for Education”时才可以使用。 另一个问题是,由于他们已经拥有现有的电子邮件帐户,他们不会犹豫是否使用“Google
1回复

我的“包含”如何在独立的Google Apps脚本中破坏表单提交?

我一直在使用此脚本来创建此Web应用程序 。 应该以表单提交的形式将数据传输到Google工作表。 完成后,应清除字段并重新开始。 这一工作(大部分情况下)。 我试图通过在Code.gs文件中添加include来清理脚本。 将脚本更改为此以创建相同的Web应用程序后, 我得到了这个
1回复

Apps脚本,可读取用户的电子邮件并从电子表格中返回信息

我正在尝试为我的学生制作一个脚本以放置在我的Google网站上,以便他们可以在家中查找有关神话的登录详细信息。 我有一个电子表格,其中包含所有与他们的登录详细信息相匹配的电子邮件,但是当他们访问页面时,我希望能够看到他们的行。 我为此使用Session.getActiveUser()。get