Instance class
User
mewakili pengguna. Instance pengguna bersifat unik dan sebanding. Jika dua instance sama, berarti keduanya mewakili pengguna
yang sama.
Aplikasi dapat mengakses instance Pengguna untuk pengguna saat ini dengan memanggil fungsi
users.get_current_user()
.
Anda dapat menggunakan fungsi
users.get_current_user()
, apa pun opsi autentikasi
yang digunakan aplikasi Anda.
Instance User juga dapat dibuat dari alamat email:
user = users.User("Albert.Johnson@example.com")
Atau, jika memiliki federated_identity
, Anda dapat menggunakannya untuk membuat instance User:
user = users.User(federated_identity="http://example.com/id/ajohnson")
Jika konstruktor Pengguna dipanggil dengan alamat email yang tidak sesuai dengan Akun Google yang valid, objek akan dibuat, tetapi tidak akan sesuai dengan Akun Google yang sebenarnya. Hal ini akan berlaku meskipun seseorang membuat Akun Google dengan alamat email yang diberikan setelah objek disimpan. Nilai Pengguna dengan alamat email yang tidak mewakili akun Google pada saat dibuat tidak akan pernah cocok dengan nilai Pengguna yang mewakili pengguna sebenarnya.
Saat berjalan di server web pengembangan aplikasi, semua objek User dianggap mewakili Akun Google yang valid saat disimpan di datastore (simulasi).
Objek Pengguna untuk pengguna yang valid dapat memberikan nilai ID unik bagi pengguna yang
tetap sama meskipun pengguna mengubah alamat emailnya. Metode
user_id()
menampilkan ID ini, yaitu nilai
str
.
Objek User memiliki format yang sama, apa pun metode autentikasi yang digunakan aplikasi Anda.
Menggunakan nilai pengguna dengan Datastore
ID Pengguna bersifat stabil, Anda dapat menggunakannya dalam nama kunci atau sebagai properti string. Oleh karena itu, saat menggunakan nilai pengguna, Anda perlu menyimpan ID Pengguna (dan mungkin alamat email yang terakhir dilihat untuk berkomunikasi dengan pengguna melalui email). Contoh di bawah menunjukkan cara membandingkan pengguna saat ini dengan ID pengguna:
Sebaiknya Anda tidak menyimpan UserProperty
, karena nilai tersebut menyertakan alamat email beserta ID unik pengguna. Jika pengguna mengubah alamat emailnya dan Anda membandingkan User
lama yang disimpan dengan nilai User
yang baru, nilai tersebut tidak akan cocok. Sebagai gantinya, pertimbangkan untuk menggunakan nilai ID pengguna User
sebagai ID unik stabil pengguna.