小编Kan*_*zar的帖子

Gmail上下文小工具(Gmail插件/扩展程序):已弃用?不可能?怎么样?(不能做OAuth 2.0)

我们需要开发一个内部gmail扩展来处理收到的电子邮件,允许收件人与我们的内部软件进行交互.我一直试图弄清楚如何在Gmail上下文小工具中使用OAuth 2.0,但我找不到任何具体的文档.当我使用contextual + google-oauth(Google推荐的关键字)搜索堆栈溢出时,我找不到任何有用的东西.

在您给我标准页面之前,请确保它有:

  • 最低限度,使用OAuth 2.0的Gmail上下文小工具manifest.xml的示例
  • 理想情况下,解释如何在域(而非市场)部署它,所以我知道它实际上已经部署和测试.

例如,Contextual Gadgets页面中的标准hello示例使用OpenID("openIdRealm"),并在OAuth 2.0之前编写:

https://developers.google.com/gmail/contextual_gadgets

OAuth 2.0中不允许使用OpenID:

https://developers.google.com/apps-marketplace/practices#3_use_oauth20

您的应用程序不得使用OpenID或OAuth1.0.任何此类使用的证据都将导致您的申请未通过审核流程.

请注意,Contextual Gadgets是客户端Javascript应用程序,与Web服务器应用程序和已安装的应用程序截然不同.所以OAuth 2.0应该像这样使用:

https://developers.google.com/accounts/docs/OAuth2#clientside https://developers.google.com/accounts/docs/OAuth2UserAgent

但是上下文小工具在一个容器中运行,该容器处理第一次OAuth调用(谷歌调用,用令牌回调我们的网站......).生活在客户端,上下文小工具"无法保守秘密".我们的网站(重定向页面,https://example.com/oauth2callback)需要将访问令牌(可能是刷新令牌)保存到客户端可访问的小工具代码的会话中.

理想情况下我不会使用SSO,我认为这只是"部署在市场上的应用程序所需".替代部署是"for your domain",它使用Google Apps Extensions控制台:

https://developers.google.com/google-apps/extensions-console/

但扩展控制台首先表示,"我们正在改善用户体验,请尝试新的开发者控制台",链接到:

https://console.developers.google.com/?redirected=true

开发人员控制台:

  • 它显示之前在应用扩展控制台中创建的项目.我可以点击它打开一个大菜单(旁边,左边)
  • API和Auth/Credentials - 我为我的应用创建了客户端ID和密码.显然,我必须使用Web应用程序,而不是服务帐户或已安装的应用程序,因为我正在尝试访问一些用户私有数据(电子邮件访问),而不仅仅是Google服务,而且我不是一个独立安装的应用程序.

无法在上下文小工具中的任何位置报告此客户端ID.是注册还是忘记?

另外(一个错误?),权限显示我的客户端ID在"服务帐户"下,即使我没有创建服务帐户凭据.

接下来:我不知道如何从这个新的开发人员控制台在我的域上部署我的上下文小工具(这不是一个独立的应用程序).在概述和左侧的计算选项卡下似乎只有与云部署相关的选项.

当我尝试从Apps Extensions控制台进行部署时(据说不会弃用,只是改进了),我收到此错误:

Google Apps Marketplace    (I never deployed to marketplace, only my own domain)
Application installation not allowed.
The OAuth1.0 version is no longer available.
Instead, try installing the OAuth2.0 version.
[Return to dashboard]   (button)
Run Code Online (Sandbox Code Playgroud)

更重要的是,返回仪表板按钮将我带到域管理站点,该站点既不允许开发也不允许部署:

https://admin.google.com/mydomain.com/ …

gmail oauth-2.0 gmail-contextual-gadgets google-oauth

18
推荐指数
2
解决办法
3087
查看次数