2012-08-13 71 views
2

這可能看起來像一個完全愚蠢的問題,但我正在編寫一個將利用谷歌的日曆API的網絡應用程序/服務,我需要看看我是否有能力在用戶未登錄時寫入用戶日曆到那裏谷歌帳戶。我找不到任何明確的文件來說明我是否可以做到這一點。我描繪了用戶在註冊我的網站時同意的授權過程,然後我的應用程序可以添加到Google日曆中。有誰知道這是否可能?如果是這樣,有人可以用我的鏈接來說明它是如何工作的嗎?Google Calendar API。我可以在用戶未登錄時寫入用戶日曆嗎?

在此先感謝

回答

1

您正在考慮「登錄」錯誤。

由於網絡連接不會在請求之間持續存在,所以任何網站或網絡服務都會檢查標頭,例如Authorization標頭和/或Cookie標頭(取決於使用的授權方法),並且每個請求並將請求與用戶進行匹配。

因此,登錄*意味着Web客戶端(瀏覽器或其他)設置爲使用與提出請求相關的特定用戶的詳細信息。

當您使用API​​時,您發送的授權信息正在執行相同的作業。因此,當用戶使用您的API時,他們通過您的API登錄,無論他們是否通過網頁或其他應用程序登錄。

例如爲:

我的網頁瀏覽器當前登錄到谷歌來我用於工作的東西的帳戶。

我的郵件客戶端登錄到谷歌日曆到我用於私人東西的帳戶。

當我看着谷歌日曆,我看到我沒有任何日曆(我沒有在我的工作帳戶上使用它)。

當我看着雷鳥,我看到我的日曆。

如果我在偷看流量由瀏覽器和郵件客戶端發送,兩個我看到標題,如:

Authorization: GoogleLogin auth=...stuff I'm not going to share or it would help you impersonate me 

所以,我是因爲使用API​​的代碼「登錄」雷鳥上記錄我自己。

事實上,同一個應用程序可以訪問多個帳戶並「登錄」到所有帳戶,只要它具有認證詳細信息即可。

*嚴格來說,有些人會認爲「登錄」根本不是正確的術語,它指的是連接上存在狀態的不同種類的訪問機制。無論這種觀點如何,我們都會使用隱喻或不登錄,因爲用戶理解它。

1

您的問題的答案是肯定的。使用OAuth 2和授權碼流程(Web服務器流程),並啓用脫機。存儲刷新令牌(無限期地持續到用戶撤消爲止),即使用戶當前未登錄,您也可以將事件上傳到Google日曆。

更多信息:https://developers.google.com/accounts/docs/OAuth2WebServer#offline

積分瑞安博伊德這張紙幣。

相關問題