Google apps script 如何在调用执行API之前刷新OAuth令牌?
我正在从web应用程序调用应用程序脚本执行API。我正在获取Google apps script 如何在调用执行API之前刷新OAuth令牌?,google-apps-script,google-oauth,google-apps-script-api,Google Apps Script,Google Oauth,Google Apps Script Api,我正在从web应用程序调用应用程序脚本执行API。我正在获取ScriptApp.getOauthToken()并将其存储在工作表中。当我打开我的web应用程序时,我将获得存储的访问令牌,并在它的帮助下调用执行API 但问题是,过了一段时间,代币到期了,它说 需要授权 当我调用执行API时 是否有任何方法可以保持访问令牌处于活动状态或在需要时刷新它?I.您不能也不应该这样做。至少不是天生的 没有本机Google Apps脚本服务方法可用于获取和交换刷新令牌(如果您想刷新过期的OAuth 2.0令牌
ScriptApp.getOauthToken()
并将其存储在工作表中。当我打开我的web应用程序时,我将获得存储的访问令牌,并在它的帮助下调用执行API
但问题是,过了一段时间,代币到期了,它说
需要授权
当我调用执行API时
是否有任何方法可以保持访问令牌处于活动状态或在需要时刷新它?I.您不能也不应该这样做。至少不是天生的 没有本机Google Apps脚本服务方法可用于获取和交换刷新令牌(如果您想刷新过期的OAuth 2.0令牌,则需要一个)作为承载令牌。这就是说,存储通过
getOauthToken
方法获得的短期令牌没有实际理由——如果用户授权了您的应用程序,您可以在每次需要请求时动态请求令牌
II。如果您仍然想要,请使用库
有一个用于Google应用程序的脚本,可以为您管理OAuth 2.0流。使用它时,如果在发出令牌时将脱机访问设置为true
,则可以获得刷新令牌
III.如果你真的想自己动手做,你可以随时创造自己的流量
通过构建自定义JWT令牌并将其与Google Identity Platform端点交换,可以仅使用本机工具来执行完整的Oauth 2.0流(包括有用户交互和无用户交互)。但这意味着你必须管理一切:
请注意,令牌不能“保持活动”,这与OAuth协议背后的理念背道而驰-单个令牌的寿命越短,应用程序的安全性越好。I.您不能也不应该这样做。至少不是天生的 没有本机Google Apps脚本服务方法可用于获取和交换刷新令牌(如果您想刷新过期的OAuth 2.0令牌,则需要一个)作为承载令牌。这就是说,存储通过
getOauthToken
方法获得的短期令牌没有实际理由——如果用户授权了您的应用程序,您可以在每次需要请求时动态请求令牌
II。如果您仍然想要,请使用库
有一个用于Google应用程序的脚本,可以为您管理OAuth 2.0流。使用它时,如果在发出令牌时将脱机访问设置为true
,则可以获得刷新令牌
III.如果你真的想自己动手做,你可以随时创造自己的流量
通过构建自定义JWT令牌并将其与Google Identity Platform端点交换,可以仅使用本机工具来执行完整的Oauth 2.0流(包括有用户交互和无用户交互)。但这意味着你必须管理一切:
请注意,令牌不能“保持活动”,这与OAuth协议背后的思想背道而驰——单个令牌的寿命越短,应用程序的安全性越好