【问题标题】:Communication between Gmail Addon and external siteGmail Addon 与外部站点之间的通信
【发布时间】:2020-06-01 15:31:24
【问题描述】:

我正在构建一个 Gmail 插件,用户需要对服务进行身份验证才能使用它。为此,我们有一个站点充当多种服务的代理(例如,Dropbox 和 Box)。它的工作方式是,用户选择一个服务进行身份验证,它被重定向到他们的 oauth 页面,当收到回调时,在我们自己的服务上生成令牌并发送回我们的令牌,而不是他们的。

所以流量会...

1. User clicks login on Gmail Add-on
2. Opens own site (third party) that contains multiple login options.
3. Selects one that redirects user inside it on a new oAuth service.
4. Our service (inside the open window) receives oAuth token and creates a new token.
5. This new token is sent back to add-on.

我想知道的是,一旦我们获得令牌,我如何才能获取/发送/继续执行这最后一步,有没有办法将其发送回 gmail 插件?在其他平台上,我们可以读取重定向、发送套接字,但我不明白如何在 google 应用程序脚本上实现。

有什么想法吗? ????

【问题讨论】:

  • 你检查过this吗?
  • 是的,但它也依赖于 oAuth2,在我们的例子中,代理有服务的回调并且只重新发送一个新的令牌,没有涉及 oAuth 的所有步骤。这意味着,我无法发送代码、状态或者我们没有生成令牌 url,我正在寻找一种可以简单地发送生成令牌的方法。

标签: google-apps-script gmail-addons


【解决方案1】:

我的要求可以使用类 ScriptApp 来实现。基本上,外部站点可以使用 usercallback 脚本返回令牌,因此流程是:

  1. 生成回调状态。
  2. 发送带有状态令牌的redirect_uri。
  3. 您可以在此步骤中做任何您想做的事情(在外部网站上)。
  4. 在 url 参数中发回您需要的信息(在我的例子中是令牌)。
  5. 可以在您的回调操作中获得回调响应。

【讨论】:

  • 很高兴您的问题得到解决。我猜你的意思是ScriptApp 而不是ScriptClass
  • 不,我的意思是 ScriptApp,看看这个文档:developers.google.com/apps-script/reference/script/script-app。 :)
  • 是的,我就是这么说的。你写了ScriptClass,我想这是一个错字:)
  • 哦!我读了我的答案,它写得很好! ?我的错!感谢修正错字!
猜你喜欢
  • 2020-06-25
  • 2017-04-30
  • 2015-03-19
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2011-03-26
相关资源
最近更新 更多