【发布时间】:2019-01-06 09:31:59
【问题描述】:
我有一个使用 OAuth2 授权外部服务的 GMail 插件。启动 AddOn 时,我通过调用 oauthService.hasAccess() 检查用户是否已经拥有访问令牌。如果用户没有令牌,我会出示一张卡片,上面写着“您需要授权服务”。
卡片包含一个这样构建的链接:
section.addWidget(CardService.newTextButton()
.setText("Authorize MyService")
.setAuthorizationAction(
CardService.newAuthorizationAction()
.setAuthorizationUrl(authorizationUrl)
));
当用户单击“Authorize MyService”按钮时,会出现一个弹出窗口,并且旧卡中会出现一个微调器。然后用户登录到 MyService,授权访问,然后我的 AuthorizeCallback 被使用令牌调用。我存储了令牌,然后返回一个自己关闭的 HtmlPage。
原始卡片中的旋转器停止旋转。但是,AddOn 不会重新加载。这表明当授权完成时,有一些东西阻止了 AuthorizationAction 卡重新加载。有什么建议吗?
我希望插件重新加载,因为入口点函数会发现现在oauthService.hasAccess() 返回true,然后会显示正常的“您已获得授权”卡片(并开始处理发送给 MyService 的电子邮件)。
感谢您的帮助!
【问题讨论】:
-
你解决了吗?
-
遇到同样的问题。但对我来说,插件会间歇性地重新加载。相关问题:issuetracker.google.com/issues/111707633
标签: google-apps-script gmail-addons