Google Apps脚本 - 服务器端身份验证

时间:2015-02-03 23:27:17

标签: google-apps-script

我想将GAS脚本用作某种Web服务。基本上,我想发布一些参数,然后使用Drive服务对Google Doc进行一些操作,所有这一切都必须在后端完成,而不使用浏览器。现在我遇到了身份验证问题 - 当我将GAS部署为Web应用程序时(以访问应用程序的用户身份执行应用程序,任何人都可以访问应用程序),当尝试通过Http请求执行脚本时,我获得Google登录响应(/ accounts / ServiceLogin) )。显然,用户必须验证访问权限。我无法找到我们是否可以在那时申请OAtuh。所以我的问题是 - 为实现这一目标可以做些什么?是否有任何机制可用于从服务器端验证GAS?或者我被迫使用GAS浏览器?

1 个答案:

答案 0 :(得分:0)

您可以在Apps脚本代码中进行自己的身份验证检查。发布时没有安全设置,但在Apps脚本代码中实现自己的密码检查。您可以将发布" 执行应用设置为:"设置为 ME ,以及" 谁有权访问该应用的设置:" 任何人,甚至匿名。这允许任何没有身份验证的人运行该应用程序。然后通过在URL搜索字符串中传递密码来创建自己的身份验证。

即使在URL搜索字符串中输入密码是通过HTTPS连接加密的,但仍然会考虑"不良做法",因为搜索字符串可以在浏览器中以纯文本格式存储历史。但是你不打算使用浏览器。

因此,您的Apps脚本应用程序将从URL中读取搜索字符串参数,并允许脚本运行或不运行。您将实现自己的身份验证系统。 但是,您需要评估并确定服务器上的安全性或发送请求的服务器。如果您可以使用URL搜索字符串中的密码向Apps脚本发送HTTPS请求,并且您的服务器上没有安全问题,或者发送HTTPS请求的任何服务器,那么您可以考虑并制作你的决定。

如果您希望从应用程序脚本返回到您的服务器,而不在浏览器中打开任何内容,请使用内容服务:

Google Documentation - Content Service