我们说我创建了一个Google工作表来捕获用户的电子邮件地址。 在我的网站上有一个小表单,一旦点击提交按钮,就会触发向google web app发送数据到表单的ajax请求:
// Let's select and cache all the fields
var $inputs = $form.find("input, select, button, textarea");
// Serialize the data in the form
var serializedData = $form.serialize();
// Fire off the request
request = $.ajax({
url: https://script.google.com/macros/s/longURLcode/exec,
type: "post",
data: serializedData
});
在google脚本中,您现在使用doPost(e)或doGet(e)来处理任何传入的http请求。要允许它作为注册机制工作,必须将Web应用程序的权限设置为(我认为!?)
执行应用:我(myemail@gmail.com)
谁有权访问该应用:任何人,甚至匿名
鉴于google脚本网站上的所有内容都已正确设置,这就像魅力一样。那怎么了?
问题:
任何人都可以查看我的网页的源代码,或者在点击提交后使用开发工具将网址提取到Google网络应用。理论上,这个网址现在可用于使用无数(未定义)条目填充工作表。
问题:
1)有没有办法将接受的http请求限制在某些来源?我试图通过访问doPost()中的http标头来做到这一点,但似乎没有办法这样做。
2)" 谁有权访问该应用:任何人,甚至是匿名的"错误的做法?我认为这是必要的,因为你只能在这里选择谷歌用户,而某些网址(mywebsite.com)似乎属于匿名类别。
3)我不认为这是可能的,但也许我错过了一个选项:有没有办法不向任何人公开谷歌网络应用程序网址?我想不是因为您可以使用开发工具监控任何请求。4)使用工作表来捕获这类数据一般只是一个可怕的想法(部分是出于上述原因),我应该尽快找到另一种解决方案?