Das Submodul "Benutzer" in Google App Engine verwendet "Google-Konto" anstelle einer Anmeldung "G +". Sind die Basis-IDs gleich? Ich möchte ihre Anmeldungen mit meinen eigenen Benutzerdatensätzen verknüpfen ...Wie funktioniert die Anmeldung bei Google+ im Vergleich zu googleappengine.api.user?
Antwort
Sie sollten ein eigenes Benutzermodell erstellen, das Informationen über registrierte Benutzer enthält. Mit users.get_current_user() können Sie eine E-Mail-Adresse aus dem Benutzer-Google-Konto nehmen und ihn in eine App einloggen.
Wenn Sie die über die ids fragen ...
Im Einzelnen:
mit
user = users.get_current_user()
gibt ein Benutzerobjekt und das ist nicht das, was Sie sich beziehen (in Bezug auf Ihr Kommentar)
Die user_id()
ist, was Sie reffering für die Benutzer api:
user = users.get_current_user()
user.user_id()
Vom Docs
If the email address is associated with a Google account, user_id returns the unique permanent ID of the user, a str. This ID is always the same for the user regardless of whether the user changes her email address.
If the email address is not associated with a Google account, user_id returns None.
Jetzt aus meiner Erfahrung meines GoogleID nach user_id()
ist xxx8005350796570706xx
und meine Google-Plus-Profil-ID ist 102445631084043565507
, die völlig unterschiedlich sind. Ich habe dies auch mit meinen Apps und Google + bekannten Followern überprüft und keine Ähnlichkeit festgestellt.
Ich würde sagen, sie sind nicht das Gleiche, aber ja, Sie können sie zuordnen.
Wenn Sie den in GAE (oder Android) integrierten Support für grundlegende Google-Konten (Benutzer) verwendet haben, um einen Benutzer zu authentifizieren, haben Sie ihre E-Mail-Adresse, die ihr Google-Konto eindeutig identifiziert.
Auf Google+, verwenden Sie den E-Mail-Umfang Zugriff auf ihre E-Mail-Adresse zu gewinnen:
https://developers.google.com/+/api/oauth#email-scopes
Diese E-Mail-Adressen entsprechen sollten, so dass dies ermöglicht es Ihnen, die Google und Google+ Konten zu verknüpfen. Der Nachteil dieser Methode IMO ist, wenn Sie nicht bereits die g + E-Mail-Bereich anfordern, dann müssen Sie es hinzufügen.
nicht wahr, dass die E-Mail eine eindeutige Kennung ist, die sich nicht ändern kann. Es kann in Google-Apps (nicht Google Mail) Szenarien ändern.Sie sollten die eindeutige Kennung und nicht die E-Mail verwenden, wenn Sie diese Fälle abdecken möchten. –
Können Sie hier zusätzlichen Kontext hinzufügen? Welche API-Aufrufe machst du? Verwenden Sie OAuth 2.0/OpenID/etc? auf App Engine? In welcher Sprache arbeiten Sie? – Joanna
In Python kann man google.appengine.api.user.get_current_user() aufrufen, das zum Google-Konto geht (zB hier ein Beispiel aus einer Codenvy-Vorlage: http://bjorke-gap1.appspot.com) - das geht "Google-Konten" anmelden. Was ich gerne wissen möchte, ist, wie sich die Werte im zurückgegebenen Objekt auf die Elemente beziehen, die von der G + -Anmeldung zurückgegeben werden. Ist das G + id_token immer der gleiche Wert wie eine Google-Konten-ID oder ist die Verbindung getrennt? – bjorke
Wow, Grillen .... Ich benutze G + Signin, und auch nicht die App Engine Datenspeicher "Benutzer" Eigenschaft wegen dieser Verwirrung (sollte ich es verwenden, oder nur die verschiedenen oauth2-related Anmeldeinformationen wie Benutzer-ID und Name als separate Eigenschaften?) – bjorke