我们需要开发一个内部gmail扩展来处理收到的电子邮件,允许收件人与我们的内部软件进行交互.我一直试图弄清楚如何在Gmail上下文小工具中使用OAuth 2.0,但我找不到任何具体的文档.当我使用contextual + google-oauth(Google推荐的关键字)搜索堆栈溢出时,我找不到任何有用的东西.
在您给我标准页面之前,请确保它有:
例如,Contextual Gadgets页面中的标准hello示例使用OpenID("openIdRealm"),并在OAuth 2.0之前编写:
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/
但扩展控制台首先表示,"我们正在改善用户体验,请尝试新的开发者控制台",链接到:
开发人员控制台:
无法在上下文小工具中的任何位置报告此客户端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)
更重要的是,返回仪表板按钮将我带到域管理站点,该站点既不允许开发也不允许部署: