我在GAE上有一个Marketplace应用程序,可以使用服务帐户正确安装和验证。当新域管理员安装应用程序时,我会捕获管理员的电子邮件地址,以便我可以使用我需要的任何Admin SDK调用来冒充他/她。效果很好。
现在,当我的新客户的非管理员用户开始使用我的应用时,如何确定他们属于哪个客户(Google应用)?虽然我可能知道域名(通过用户的电子邮件地址),但这不是最好的方法 - 因为我的客户(Google Apps客户)可能会在其帐户中使用多个域名。有没有办法确定与用户的Google App帐户关联的customer_ID?
是否为这类事情建立了标准工作流程?我知道,在成功安装我的应用程序后,我可以遍历所有客户的当前用户以查找与其关联的所有域名 - 但如果在安装后添加后续域名,则无法保证可以正常运行。我是否需要通过目录API订阅Users.watch才能查看新域名?如果有一个更简单的方法,似乎需要做很多工作。
答案 0 :(得分:1)
在为Google Apps市场构建应用程序时,您应该可以访问“https://www.googleapis.com/auth/plus.profile”范围。
当您打电话给人员:为登录用户获取Api时,您会看到显示Google Apps域的字段“域”。来自文档:
域:用户的Google Apps帐户的托管域名。 例如,example.com。 plus.profile.emails.read或电子邮件范围 获取此域名需要。