Original Si vous avez des erreurs de traduction, veuillez nous en informer.
User Objects (Remarque: les fonctionnalités Open ID mentionnées sur cette page devraient être obsolètes et supprimées. Pour plus d'informations, consultez la page relative à la prise en charge d'OpenID 2.0 (https://cloud.google.com/appengine/docs/deprecations). Voir / open_id).)
Une instance de la classe User représente un utilisateur. Les instances utilisateur peuvent être comparées à des instances uniques. Si les deux instances sont identiques, alors les deux appartiennent au même utilisateur. L'application appelle la fonction users.get_current_user () pour appeler l'utilisateur Vous pouvez accéder à l'instance User.
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()
Vous pouvez utiliser la fonction users.get_current_user () quelle que soit l'option d'authentification que vous utilisez pour votre application. On peut dire qu'une instance utilisateur consiste en une adresse e-mail.
user = users.User("[email protected]")
Sinon, si vous avez federated_identity, vous pouvez également utiliser l'instance User comme ci-dessous.
user = users.User(federated_identity="http://example.com/id/ajohnson")
Si le contenu de l'utilisateur est appelé avec une adresse e-mail qui ne correspond pas à votre compte Google existant, un nouvel objet utilisateur sera créé, qui ne correspondra pas à votre compte Google réel. Cela se produit également lorsqu'une personne crée un autre compte Google une fois que son objet utilisateur est enregistré dans la base de données. Les informations utilisateur qui ont déjà été enregistrées ne correspondent pas lors de la création d'un nouveau compte Google. Lors de l'exécution du serveur de développement, tous les objets Utilisateur enregistrés sont traités comme des comptes Google valides. Un objet Utilisateur d'utilisateur valide donne à chaque utilisateur un ID unique qui ne change pas tant que l'utilisateur n'a pas changé son adresse e-mail. La méthode user_id () renvoie l'ID sous forme de chaîne. L'objet Utilisateur a la même forme quelle que soit la méthode d'authentification que vous utilisez dans votre application. Si vous modifiez l'option d'authentification de votre compte Google en OpenID, votre objet Utilisateur existant restera valide.
L'ID utilisateur est fixe. L'ID utilisateur peut être utilisé comme nom de clé ou chaîne de caractères. Par conséquent, lorsque vous utilisez les informations utilisateur, vous souhaitez probablement enregistrer votre ID utilisateur (et peut-être votre adresse e-mail la plus récente pour communiquer avec vous par e-mail). L'exemple ci-dessous montre comment faire correspondre l'utilisateur avec l'ID utilisateur.
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()
Nous vous recommandons vivement de ne pas stocker la propriété UserProperty dans la base de données car elle contient votre adresse e-mail et votre identifiant unique. Si l'utilisateur modifie son adresse e-mail, il ne correspondra pas lorsqu'il tentera de faire correspondre l'ancien utilisateur enregistré avec le nouvel utilisateur. Au lieu de cela, il est préférable de fournir un identifiant spécifique à l'utilisateur et de le faire correspondre.
Recommended Posts