如何在 Apps 脚本上获取 G Suite Add-on 运行 的 OAuth 刷新令牌?

How can I obtain an OAuth refresh token for a G Suite Add-on running on Apps Script?

考虑到获取用户同意的授权流程是由 Apps 脚本处理的,有人知道如何获取 G Suite 插件的刷新令牌吗?

我知道如何使用方法

获取访问令牌
ScriptApp.getOAuthToken()

但我不知道如何为特定用户获取刷新令牌

上下文:

我有一个 add-on 允许用户安排定期会议。当用户从 G Suite Marketplace 安装 add-on 时,用户授予该应用程序访问其日历的权限,因此当他们是 运行 脚本时,我可以在他们的日历上读写。

我想在会议前一天给他们发送电子邮件提醒,所以我想在他们不在 运行 脚本时使用云功能在后台阅读他们的日历。

为了做到这一点,我需要拥有该用户的刷新令牌,因为访问令牌已过期。

我真的坚持了很多天了。任何帮助将不胜感激!

非常感谢。

您有两个选择:

如果您设置访问权限为offline (.setParam('access_type', 'offline')),只要用户授予您一次权限就足够了。