要遵循哪个 OAuth 流程? (Google Apps 脚本和 Google Fusion Tables API)
Posted
技术标签:
【中文标题】要遵循哪个 OAuth 流程? (Google Apps 脚本和 Google Fusion Tables API)【英文标题】:Which OAuth flow to follow? (Google Apps Script and Google Fusion Tables API) 【发布时间】:2013-02-20 18:29:09 【问题描述】:我正在学习如何与 OAuth 交互。我使用融合表作为数据库的后端,然后使用谷歌应用程序脚本与该数据库交互。应用程序脚本的一部分将运行按时间安排的触发器,而其他部分将作为 webApp 发布。我遇到了其他一些 OAuth 问题(请参阅下面的线程链接),但这个问题更为基础。在阅读 Google API OAuth 文献时,它描述了不同的 OAuth 流程,我不知道我的程序是哪一个。我的应用程序是“网络服务器应用程序”、“客户端”、“服务帐户”还是什么。
Google API OAuth 信息:https://developers.google.com/accounts/docs/OAuth2 其他主题:Getting Google Apps Script to Authorize Fusion Table API
【问题讨论】:
【参考方案1】:首先,您安装触发器以在特定时间运行特定功能这一事实与您应该使用哪个 Oauth Flow 无关。 Oauth 用于允许您应用的用户授予您的应用访问某些通常只有他们才能访问的资源的权限。 当您在应用脚本中包含某些 API 调用时,Google Apps 会自动向用户显示一个对话框,要求“授权”代表他们使用这些资源。 因此,在您将 App 脚本用作 Fusion Table 前端的用例中,您无需使用 Oauth 来让用户授予权限。 您可以发布您的脚本以“充当”用户或脚本所有者。
【讨论】:
感谢您的回复。那么,当通过 .fetch 进行 API 调用时,我是否需要在 URL 中添加 API 密钥?如果是这样,什么风格的 API 密钥(“浏览器应用程序密钥”、“服务器应用程序密钥”等)?我稍后的帖子显示了一些代码。 Link To Post Here 根据您提供的链接,您似乎了解了 Oauth 部分。不过几厘米。 API 密钥与 Oauth 没有直接关系。它们(OAuth 和 API 密钥)都用作 Auth。 Web 服务提供的工具,但是它们可以独立使用。您将 API 密钥放在 URL 中的位置将由该特定 API 定义。许多通过 Oauth 访问的服务不是 API。以上是关于要遵循哪个 OAuth 流程? (Google Apps 脚本和 Google Fusion Tables API)的主要内容,如果未能解决你的问题,请参考以下文章
Google OAuth2:重定向已被 CORS 政策阻止:请求需要预检,不允许遵循跨域重定向
有没有办法预先检查或避免 Google 的 Gmail / Google 日历 OAuth 审批流程中的范围复选框?