Как определить, является ли электронная почта учетной записью Google? - PullRequest
7 голосов
/ 24 ноября 2010

Я и некоторые ребята здесь работаем над стартапом.В настоящее время мы используем Google OpenID API для управления регистрацией и входом в наше приложение, но мы хотим перейти на более простую модель регистрации пользователей.И для этого нам нужно знать, есть ли способ определить, является ли электронная почта (не gmail) уже учетной записью Google.Есть ли способ получить эту информацию из Google Single Sign-on API?

Предыдущее спасибо за вашу помощь!:)

Ответы [ 5 ]

11 голосов
/ 30 декабря 2015

Если вы на Mac, откройте терминал и введите $ host {example.com}, чтобы определить, размещена ли их электронная почта в Google.

Например:

$ 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.
4 голосов
/ 31 января 2013

Это не полное решение, но вы можете узнать, есть ли кто-то в Службах Google, просмотрев записи MX своего домена. Ссылка в ответе не работает для меня, так что это может быть лучшим решением.

2 голосов
/ 25 ноября 2010

Вы не можете этого сделать. Я не думаю, что Google мог бы сказать вам это без согласия пользователя.

Однако вы можете увидеть, является ли домен доменом Служб Google, используя его в качестве URL-адреса обнаружения: https://www.google.com/accounts/o8/site-xrds?hd=mail.moztw.org

Отмечено, что администратор домена может неправильно установить поддержку OpenID для домена. Мой слайд обсудил это подробно: http://www.slideshare.net/timdream/google-apps-account-as-openid

0 голосов
/ 11 февраля 2017

Я разработал предложение Дуга, и оно работает.Просто убедитесь, что (эффективный) пользователь, вызывающий функцию, имеет право вызвать addViewer.Хитрость для достижения этой цели состоит в том, чтобы убедиться, что подпрограмма вызывается из подпрограммы триггера, поэтому владельцем сценария является действующий пользователь.

function checkIfGoogleAccount(emailAddress) {
  try {
    SpreadsheetApp.getActiveSpreadsheet().addViewer(emailAddress) ;
    SpreadsheetApp.getActiveSpreadsheet().removeViewer(emailAddress) ;
    return true ;
  }
  catch(err) {
    return false ;
  }
}
0 голосов
/ 21 января 2014

Я делаю это, имея фиктивный файл, к которому я добавляю адрес электронной почты, используя функцию addViewer.Я делаю это в попытке ... поймать.Если ошибка обнаружена, тогда я установил свой локальный флаг, чтобы сказать "не учетная запись Google".Если ошибок нет, я удаляю их как средство просмотра моего фиктивного файла и устанавливаю свой флаг, чтобы адрес электронной почты был действительным аккаунтом Google.

...