我建立了一個客戶的Web應用程序,我真的不知道我在做正確的事...如何將OAuth與Google日曆一起使用來只訪問一個日曆?
基本上,我創建了一個讀取,編輯PHP應用程序,谷歌上刪除日曆和在我自己的Web應用程序數據庫上保留一份副本(出於各種原因)。現在,我瞭解了OAuth 2.0,並意識到使用它可能比我的客戶端普通Google密碼(可以直接在我的Web應用程序中訪問所有的Google服務(日曆,電子郵件等))更安全,話說,如果一個黑客進入服務器比他可以竊取她的密碼...)。
所以我建立的OAuth 2.0帳戶,從http://code.google.com/apis/calendar/v3/using.html#setup
此頁面中添加類/文件夾,並添加適當的腳本測試頁「授權訪問您的信息」 (see "Instantiating the client " in the same page)
上...
這裏是我的問題:如果我使用我的登錄信息(而不是我的客戶端)登錄了我的Gmail,並且進入我的測試頁面,它會要求我授權訪問我的Google日曆。但我想要我的客戶的日曆,而不是我的!所以,讓我們假裝我註銷,使用我的客戶信息登錄並進入測試頁面:這非常完美,我授權帳戶,然後我重定向到我的應用程序,在那裏我可以看到她的日曆。
但是這不符合邏輯......因爲,例如,我希望她的GENERAL PUBLIC網站上的人員登錄一個頁面並填寫表格以便自動執行約會。該腳本必須檢查她的谷歌日曆....並要求他們的Gmail帳戶的權限?不,我想要她的日曆。
所以這是我的問題/問題。我究竟做錯了什麼?這是正確的方式嗎?還是我錯過了一個步驟?這個API意味着做到這一點嗎?
如何使用API以上述方式工作?
感謝所有,點燃我的蠟燭
喬爾
感謝您的回答。當你說「加密」時,你如何確切地做到這一點?如果你加密它,然後你需要訪問日曆,你需要解密它之前發送請求谷歌,因此黑客會看到解密腳本,只是運行它?我應該使用API密鑰,而不是'http:// code.google.com/apis/console-help /#UsingKeys'嗎? – Joel
您的應用駐留在App Engine上,因此無需將客戶的憑據傳輸到用戶/從用戶傳輸。您的應用程序只需要存儲和檢索它們即可完成OAuth握手。 但我越想到允許一個人(用戶)代表別人(您的客戶)執行某個操作的應用程序,我越感到不舒服。如果第二個選項適用於您,它似乎更安全,功能更豐富。 –
好的。我試圖找到如何在我的PHP腳本中使用API密鑰的信息,似乎無法找到它,隱藏在哪裏?當我到我的控制檯時,他們唯一說的是'要使用此密鑰,請在所有請求中添加密鑰='?我如何使用'簡單API訪問'?謝謝 –
Joel