1)User對象
用戶API要是通過User服務器租用類來實現其功能的,每個User類的對象代表著一個用戶User對象是唯一的且可比較,若兩個對象相同,則這兩個對象代表著同一個用戶。開發的應用程序可通過調用users.get_current_user()函數來訪問當前用戶的User對象,也可以利用電子郵件地址來構造User對象。
2)登錄網址
用戶API提供了函數來構建到Google賬戶的網址,這樣Google賬戶允許用戶登錄或退出,并重新定向到用戶的應用程序。登錄或退出目標網址可以使用users.create_login_url()和users.create_logout_url()。
3)User類
User類的一個對象代表具有Google賬戶的—個用戶users模塊提供的。
(1)構造函數。class User(email=None)這個函數代表具有Google賬戶的用戶函數中的電子郵件地址,默認為當前用戶。若系統沒有指定電子郵件地址,并且當前用戶沒有登錄,那么系統將拋出UserNotFoundEiTOT錯誤。
系統在創建Use服務器租用對象時,不檢査這個電子郵件地址是否有效。若該Use服務器租用對象的郵件地址不是有效的,則該User服務器租用對象仍然可能存儲在數據庫中,但是不會與真正的相匹配。
(2)實例方法。User實例主要提供以下方法。
(a)nickname():用來返回用戶的“昵稱”。
(b)email():用于返回用戶的電子郵件地址。
(3)函數。google.appengine.api.users包主要提供以下函數。
(a)create_login_url(dest_url):用于返回一個網址。當用戶訪問這個網址時,它將提示用戶使用自己的Google賬戶登錄,并將用戶重新定向到指定的dest_url網址。其中dest_url可以是完整的網址,也可以是相對于應用程序的域的路徑。
(b)create_logout_url(dest_uri):用來返回一個網址。當用戶訪問這個網址時會注銷這個用戶,然后將用戶重新定位到指定的dest_url網址。其中參數dest_url可以是完整的網址,或者是相對于應用程序的域的路徑。
(c)get_current_user():若用戶已登錄,則該函數返回當前用戶的user服務器租用對象;若用戶未登錄,返回None。
(4)異常。google.appengine.api.users包主要提供以下exception類。
(a)exception Error():這個包中所有異常的基類。
(b)exceptionUserNotFoundError():若用戶沒有提供電子郵件地址,且當前用戶未登錄,則系統將由User構造函數拋出異常。
(c)exception RedirectTooLongError():表示create_login_url()或create logout一url()函數的重定向網址的長度超過了所允許的最大長度。