我和一些人在这里正开发的启动。目前,我们正在使用谷歌的OpenID API来管理注册和登录到我们的应用程序,但我们希望迁移到一个更简单的用户注册模式。而对于这一点,我们需要知道,如果有,我们可以检测的电子邮件(Gmail的不)已经是一个谷歌帐户的方式。有没有办法让来自谷歌单点登录API?

此信息

上感谢您的帮助! :)

有帮助吗?

解决方案

您不能这样做。我不认为谷歌可以告诉你,未经用户许可。

您可以,但是,看看是否域是一个谷歌Apps域使用此作为发现网址: https://www.google.com/accounts/o8 /site-xrds?hd=mail.moztw.org

注意的是,域的管理员可能无法正常安装域OpenID的支持。我的幻灯片进行了详细讨论了这一点: http://www.slideshare.net/timdream/google-apps-account -as-的OpenID

其他提示

如果你是在Mac上,打开终端,输入$ host {example.com},以确定他们的电子邮件是由谷歌托管的。

例如:

$ host yelp.com
yelp.com has address 104.16.57.23
yelp.com has address 104.16.56.23
yelp.com mail is handled by 1 ASPMX.L.GOOGLE.com.
yelp.com mail is handled by 10 ASPMX2.GOOGLEMAIL.com.
yelp.com mail is handled by 10 ASPMX5.GOOGLEMAIL.com.
yelp.com mail is handled by 10 ASPMX3.GOOGLEMAIL.com.
yelp.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.com.
yelp.com mail is handled by 10 ASPMX4.GOOGLEMAIL.com.
yelp.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.com.

这是不是一个完整的解决方案,但你能告诉某人是否在使用谷歌应用程序通过查看他们的域名的MX记录。在答案的链接没有为我工作,所以这可能是一个更好的解决方案。

我通过具有虚拟文件,向其中我使用addViewer功能添加的电子邮件地址做到这一点。我这样做是在一个try ... catch。如果发生了错误,然后我把我的本地标志说“不是一个谷歌帐户”。如果没有错误,然后我将其取走我的虚拟文件的浏览器,并设置自己的旗帜说的电子邮件地址是合法的谷歌帐户。

我制定了道格的建议和它的作品。只要确保(有效)用户调用函数调用addViewer的权利。完成这一特技是确保该例程从触发例程调用,所以该脚本的所有者是有效用户。

function checkIfGoogleAccount(emailAddress) {
  try {
    SpreadsheetApp.getActiveSpreadsheet().addViewer(emailAddress) ;
    SpreadsheetApp.getActiveSpreadsheet().removeViewer(emailAddress) ;
    return true ;
  }
  catch(err) {
    return false ;
  }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top