我有一个使用 OAuth2 授权外部服务的 GMail AddOn。启动 AddOn 时,我通过调用来检查用户是否已经拥有访问令牌oauthService.hasAccess()
。如果用户没有令牌,那么我会出示一张卡片,上面写着“您需要授权服务”。
该卡包含一个这样构建的链接:
section.addWidget(CardService.newTextButton()
.setText("Authorize MyService")
.setAuthorizationAction(
CardService.newAuthorizationAction()
.setAuthorizationUrl(authorizationUrl)
));
当用户单击“Authorize MyService”按钮时,会出现一个弹出窗口,并且旧卡中会出现一个微调器。然后用户登录到 MyService,授权访问,并AuthorizeCallback
使用令牌调用 my。我存储令牌,并返回一个刚刚关闭的 HtmlPage。
原始卡中的旋转器停止旋转。但是,AddOn 不会重新加载。这表明当授权完成时,有一些东西阻止了 AuthorizationAction 卡重新加载。有什么建议吗?
我希望加载项重新加载,因为入口点函数会发现现在oauthService.hasAccess()
返回true
,然后将显示正常的“您已获得授权”卡(并开始处理发送给 MyService 的电子邮件)。
谢谢你的帮助!