Frage

Ich und einige hier Jungs auf eine Arbeits starten. Wir sind derzeit mit Google OpenID-API-Registrierung und Login auf unsere App zu verwalten, aber wir wollen ein einfache Benutzerregistrierung Modell migrieren. Und dafür müssen wir wissen, ob es eine Möglichkeit ist, dass wir erkennen können, ob eine E-Mail (nicht gmail) ist bereits ein Google-Konto. Gibt es eine Möglichkeit, diese Informationen aus dem Google-Single-Sign-on zu erhalten API?

Zurück Dank für Ihre Hilfe! :)

War es hilfreich?

Lösung

Sie können das nicht tun. Ich glaube nicht, Google, dass ohne Einwilligung des Nutzers sagen konnte.

Sie können jedoch sehen, ob die Domäne eine eine Google Apps-Domain durch die Verwendung dieser als Discovery-URL lautet: https://www.google.com/accounts/o8 /site-xrds?hd=mail.moztw.org

Darauf hingewiesen, dass der Administrator der Domäne möglicherweise nicht ordnungsgemäß OpenID Unterstützung für die Domäne installiert. Mein Schlitten haben dies im Detail diskutiert: http://www.slideshare.net/timdream/google-apps-account -as-openid

Andere Tipps

Wenn Sie auf einem Mac, öffnen Sie das Terminal und geben Sie $ host {example.com}, um zu bestimmen, ob die E-Mail von Google gehostet wird.

Zum Beispiel:

$ 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.

Dies ist keine vollständige Lösung, aber man kann sagen, wenn jemand auf Google Apps ist die MX-Datensätze durch einen Blick auf ihre Domäne. Der Link in der Antwort hat nicht funktioniert für mich, so dass eine bessere Lösung sein kann.

Ich tue dies durch eine Dummy-Datei mit, an den ich die E-Mail-Adresse mit der addViewer Funktion hinzuzufügen. Ich tue dies in einem try ... catch. Wenn ein Fehler erwischt wird dann setze ich meine lokale Flagge zu sagen „kein Google-Konto“. Wenn kein Fehler, ich entferne sie dann als Betrachter meiner Dummy-Datei und setze meine Flagge der E-Mail-Adresse zu sagen, ist ein legit Google-Konto.

arbeitete ich Doug Vorschlag und es funktioniert. So stellen Sie sicher, dass die (effektive) Benutzer Aufruf der Funktion das Recht addViewer zu nennen hat. Ein Trick, dies zu tun ist, um sicherzustellen, dass die Routine von einer Trigger-Routine aufgerufen wird, so dass der Eigentümer des Skripts der effektive Benutzer ist.

function checkIfGoogleAccount(emailAddress) {
  try {
    SpreadsheetApp.getActiveSpreadsheet().addViewer(emailAddress) ;
    SpreadsheetApp.getActiveSpreadsheet().removeViewer(emailAddress) ;
    return true ;
  }
  catch(err) {
    return false ;
  }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top