2012-11-21 31 views
1

只是想知道是否有任何情況下Google用戶API會返回除用戶只用於登錄的電子郵件地址之外的電子郵件地址。谷歌用戶API返回的電子郵件地址不是僅用於用戶登錄的電子郵件地址

我調試繼承的谷歌應用程序引擎的網站,並已將其隔離,以這樣的:

self.google_user = users.get_current_user() 
email = self.google_user.email() 

此代碼沒有返回用戶只是用來通過谷歌登錄的電子郵件地址。它會返回一個不同的電子郵件地址..在這種情況下,Gmail地址。

有沒有人遇到過這樣的問題?

回答

0

的答案如下 - 谷歌的用戶API只返回谷歌帳戶的主電子郵件地址。因此,用戶可以通過與其次要電子郵件地址相關聯的Google帳戶登錄我們的應用,但我們只會從API獲取主要電子郵件地址。所以看起來我們給了一個不同的電子郵件地址給用戶剛用來登錄的地址。

實際上,我們獲得了Google帳戶的主要地址,他們只是使用他們的輔助電子郵件地址來登錄(介意彎曲)。

1

電子郵件地址可能會發生變化,可能是由於某種原因返回了原來的地址。

您可能需要使用唯一的ID,這將永遠不會代替改變:

你可能想存儲的用戶ID(也許是最後看到的郵件地址與電子郵件用戶通信)。用戶ID穩定;您可以在密鑰名稱或字符串屬性中使用它。

您可能不想存儲UserProperty。在數據存儲中, 的值等於電子郵件地址加上用戶的唯一ID。如果 用戶更改了他們的電子郵件地址,並且您將他們舊的存儲的 用戶與新用戶進行比較,他們將不匹配。

db和NDB庫都具有UserProperty屬性類型,因此應用程序可以存儲用戶值。但是,由於這些值 在用戶更改電子郵件地址時變得無效,因此大多數應用程序不具備該功能的 。

User Objects

+0

電子郵件地址未更改。他們登錄到一個電子郵件地址爲A的賬戶。但是user.email()返回電子郵件地址B. – HorseloverFat

+0

我認爲gmail和googlemail是可以互換的,例如, [email protected]和[email protected]。有關此處的更多信息,請http://support.google.com/mail/bin/answer.py?hl=zh_CN&answer=159001或許已關聯。除此之外,不確定! –

相關問題