[PYTHON] [Google App Engine] Benutzerobjekte (japanische Übersetzung)

Original Wenn Sie falsche Übersetzungen haben, lassen Sie es uns bitte wissen.

User Objects (Hinweis: Die auf dieser Seite erwähnten Open ID-Funktionen werden voraussichtlich nicht mehr unterstützt und entfernt. Weitere Informationen finden Sie unter OpenID 2.0 Support Turndown (https://cloud.google.com/appengine/docs/deprecations). Siehe / open_id).)

Eine Instanz der Benutzerklasse repräsentiert einen Benutzer. Benutzerinstanzen sind eindeutig und können verglichen werden. Wenn die beiden Instanzen identisch sind, gehören die beiden demselben Benutzer. Die Anwendung ruft die Funktion users.get_current_user () auf, um den Benutzer aufzurufen Sie können auf die Benutzerinstanz zugreifen.

from google.appengine.api import users

user = users.get_current_user()
if not user:
    # The user is not signed in.
else:
    print "Hello, %s!" % user.nickname()

Sie können die Funktion users.get_current_user () verwenden, unabhängig davon, welche Authentifizierungsoption Sie für Ihre Anwendung verwenden. Man kann sagen, dass eine Benutzerinstanz aus einer E-Mail-Adresse besteht.

user = users.User("[email protected]")

Wenn Sie federated_identity haben, können Sie alternativ auch die Benutzerinstanz wie folgt verwenden.

user = users.User(federated_identity="http://example.com/id/ajohnson")

Wenn der Inhalt des Nutzers mit einer E-Mail-Adresse aufgerufen wird, die nicht mit Ihrem vorhandenen Google-Konto übereinstimmt, wird ein neues Nutzerobjekt erstellt, das nicht mit Ihrem tatsächlichen Google-Konto übereinstimmt. Dies passiert auch, wenn jemand ein anderes Google-Konto erstellt, sobald sein Benutzerobjekt in der Datenbank registriert ist. Bereits registrierte Benutzerinformationen stimmen nicht überein, wenn ein neues Google-Konto erstellt wird. Beim Ausführen des Entwicklungsservers werden alle registrierten Benutzerobjekte als gültige Google-Konten behandelt. Das Benutzerobjekt eines gültigen Benutzers gibt jedem Benutzer eine eindeutige ID, die sich erst ändert, wenn der Benutzer seine E-Mail-Adresse ändert. Die user_id () -Methode gibt die ID als Zeichenfolge zurück. Das Benutzerobjekt hat dieselbe Form, unabhängig davon, welche Authentifizierungsmethode Sie in Ihrer Anwendung verwenden. Wenn Sie die Authentifizierungsoption von Ihrem Google-Konto in OpenID ändern, bleibt Ihr vorhandenes Benutzerobjekt gültig.

Verwendung des Benutzerobjekts im Datenspeicher

Die Benutzer-ID ist fest. Die Benutzer-ID kann als Schlüsselname oder Zeichenfolge verwendet werden. Wenn Sie Benutzerinformationen verwenden, möchten Sie daher wahrscheinlich Ihre Benutzer-ID (und möglicherweise Ihre letzte E-Mail-Adresse, um mit Ihnen per E-Mail zu kommunizieren) speichern. Das folgende Beispiel zeigt, wie der Benutzer mit der Benutzer-ID abgeglichen wird.

from google.appengine.api import users
from google.appengine.ext import ndb

class UserPrefs(ndb.Model):
    userid = ndb.StringProperty()

user = users.get_current_user()
if user:
    q = ndb.gql("SELECT * FROM UserPrefs WHERE userid = :1", user.user_id())
    userprefs = q.get()

Wir empfehlen dringend, die UserProperty nicht in der Datenbank zu speichern, da sie Ihre E-Mail-Adresse und Ihre eindeutige ID enthält. Wenn der Benutzer seine E-Mail-Adresse ändert, stimmt er nicht überein, wenn versucht wird, den gespeicherten alten Benutzer mit dem neuen Benutzer abzugleichen. Stattdessen ist es besser, eine benutzerspezifische ID anzugeben und diese abzugleichen.

Recommended Posts

[Google App Engine] Benutzerobjekte (japanische Übersetzung)
Speichern Sie auf Japanisch in StringProperty im Google App Engine-Datenspeicher
Google AppEngine-Entwicklung mit Docker
Java 1 1-Unterstützung von Google App Engine
Verwenden Sie ndb.tasklet mit Google App Engine
[Python] Führen Sie Flask in Google App Engine aus
Verwenden Sie externe Module mit Google App Engine
Ich kann nicht mehr mit der Google App Engine bereitstellen
Tweet (API 1.1) mit Google App Engine für Python
sosreport Japanische Übersetzung
Integration von Google App Engine-Datenspeicher und Such-API
Stellen Sie die Django-Anwendung in Google App Engine (Python3) bereit.
Konstruktionsverfahren für die Google App Engine / Python-Entwicklungsumgebung (Ende 2014)
(Anfänger) Grundlegende Verwendung des Datenspeichers von Google App Engine
PIL in Python unter Windows8 (für Google App Engine)
Erste Schritte mit Google App Engine für Python und PHP
Verwendung von Django mit Google App Engine / Python
Laufzeitversion der Google App Engine / Python-Standardumgebung
Mann systemd japanische Übersetzung
stromlinienförmige Erklärung japanische Übersetzung
Streamlit Tutorial Japanische Übersetzung
man systemd.service Japanische Übersetzung
man nftables Japanische Übersetzung
Dockerfile Reference Japanische Übersetzung
docker-compose --help japanische Übersetzung
Docker helfen japanische Übersetzung
Hallo Welt mit Google App Engine (Java 8) + Spring Boot + Gradle
Hallo Welt mit Google App Engine (Java 8) + Servlet API 3.1 + Gradle
Pandas Benutzerhandbuch "Manipulieren fehlender Daten" (offizielles Dokument Japanische Übersetzung)
Stellen Sie Go-Apps mit GitHub-Aktionen für Google App Engine bereit
Hallo Welt mit Google App Engine (Java 11) + Spring Boot + Gradle