2012-07-04 123 views
0

我需要從我的活動中的WebView內訪問Gmail網絡界面。出於明顯的安全/信任原因,我想避免向用戶詢問他的Gmail憑據並將其存儲在某個地方,而是使用OAuth之類的東西來授予對Gmail的訪問權限。從我發現的情況來看,OAuth僅適用於IMAP和SMTP訪問Gmail帳戶,對嗎?使用OAuth登錄到Gmail Web界面

會使用webView.getSettings().setSavePassword(true);並讓用戶第一次登錄他/她使用應用程序工作?我將如何自動提交後續應用程序啓動時保存的詳細信息?

感謝,
尼克

回答

0

你必須把你的WebView作爲瀏覽器。每次訪問Gmail時,Chrome等瀏覽器如何讓您自動登錄?它存儲來自Gmail的會話cookie。

要從您的WebView存儲cookies並在下次再使用它們,請查看CookieManager

+0

感謝您的回覆!這會將我「綁定」到由Gmail設置的Cookie過期,這意味着用戶需要在登錄後重新登錄。 1周,對吧? (我不知道Gmail會話cookie的實際到期時間)我寧願爲用戶提供「一次又一次忘記」的解決方案。 – Nick

+0

就像您已經看到的,OAuth僅適用於IMAP/SMTP,不適用於登錄到其Web前端。由於您不想存儲用戶憑據,不幸的是唯一的方法就是存儲會話cookie。 –

+0

如果要存儲用戶憑據,則可以嘗試僞造發送到https://accounts.google.com/ServiceLoginAuth的登錄請求,以便自動登錄用戶。 –