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