2012-03-14 207 views
5

我一直試圖讓Google's Calendar API在PHP web應用程序中工作,但我很難獲得身份驗證。服務器的Google API身份驗證

我想要做的是讓用戶與服務器已知的單個帳戶的日曆進行交互。

OAuth 2.0 docs中涉及的每種類型的場景都涉及到涉及登錄表單和單個用戶登錄的「用戶同意」,但我希望服務器本身直接進行身份驗證併爲其自身獲取訪問令牌。

有沒有OAuth的某些部分或我可以使用的一些替代機制來做到這一點?

回答

3

爲了做到這一點,您必須完成用戶同意的步驟,然後將它給您的訪問令牌複製到PHP代碼中。

對OAuth的通常的程序是這樣的:

  1. 發送用戶認證頁面。
  2. 用戶回來了$ _GET [「代碼」]
  3. 發送$ _GET [「代碼」] OAuth的服務器令牌
  4. 商店令牌數據庫用戶(或會話,如果它是非常短命的)

但像這樣一個日曆做時,你修改步驟4相反,你轉儲標記篩選並將其複製到你的PHP文件作爲變量,而不是把它在數據庫中。然後,當您將訪問令牌傳遞給服務器時,您只需傳遞已知的靜態令牌,而不是數據庫/會話中的動態令牌。

+0

謝謝,但不是訪問令牌本身短命?我必須一直手動執行此操作。 – andy 2012-03-16 02:10:35

+0

自12月份以來,我一直在使用此確切方法處理日曆,而且這個日曆上的事件更新頻率非常高,以至於我知道它仍在工作。我認爲訪問令牌確實有一生的存在,但是它的測量時間是幾個月,而不是幾天或幾個小時。 – kingcoyote 2012-03-16 05:38:27

+0

好的,謝謝,我會給它一個去。 – andy 2012-03-18 01:50:13