xia*_*owl 8 google-docs google-drive-api
我正在开发一个应用程序,允许用户将他们的驱动器文件分享给朋友.但是,谷歌应用帐户存在问题,例如someone@somadomain.com,哪些文件无法与不在该域下的人共享.虽然管理员可以更改共享政策somedomain.com,但我不希望人们将我的应用与Google Apps帐户一起使用.
我还查看了这篇文章:如何确定该帐户是否为Google应用帐户?.但我不同意检查域以检测帐户类型的想法.因为人们可以使用任何电子邮件地址注册Google帐户.我刚用Hotmail注册了一个,someone@hotmail.com在共享文件时没有域名限制.
有人能帮忙吗?谢谢!
Jay*_*Lee 12
假设你包括:
https://www.googleapis.com/auth/userinfo.email
Run Code Online (Sandbox Code Playgroud)
在您的OAuth范围中,您可以发出以下请求:
https://www.googleapis.com/oauth2/v2/userinfo
Run Code Online (Sandbox Code Playgroud)
如果是Google Apps帐户,那么Google Apps域的调用将返回"hd"参数(托管域名?)作为其值.如果它是一个消费者帐户,无论是@ gmail.com还是潜在的"冲突帐户",都不会返回hd参数.请参阅下面的示例.admin@jay.powerposters.org是Google Apps帐户,而consumer @ jay.powerposters.org是一个消费者帐户.如果我在Google Apps域中创建了一个消费者用户,那么它将成为一个冲突的帐户,消费者帐户将被推出@ jay.powerposters.org命名空间,但尚未发生.
对于admin@jay.powerposters.org:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 99
X-xss-protection: 1; mode=block
...
{
"email": "admin@jay.powerposters.org",
"verified_email": true,
"hd": "jay.powerposters.org"
}
Run Code Online (Sandbox Code Playgroud)
对于consumer@jay.powerposters.org:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 71
X-xss-protection: 1; mode=block
{
"email": "consumer@jay.powerposters.org",
"verified_email": true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5269 次 |
| 最近记录: |