簡體   English   中英

適用於PHP的Google日歷API,用於獲取日歷事件的簡單只讀請求

[英]Google calendar API for PHP simple read-only request to get calendar events

我想為網站編寫一些簡單的PHP代碼,以使用Google的日歷API V3獲得對事件的公共Google日歷列表的只讀訪問權限。 我只需要在網頁上顯示日歷中即將發生的事件的列表。 我已經閱讀了開發人員文檔,並查看了入門部分get events示例代碼,但我有些困惑。 我在想:

  • 有沒有一種更簡單的方式來執行我需要的操作,從而避免了所有這些OAuth問題? 有未經身份驗證的訪問方法嗎?

  • 如果不是,看來我需要在code.google.com/apis/console/上設置我的應用程序的訪問權限,然后生成ApplicationName,ClientID,ClientSecret,RedirectURI和DeveloperKey。 ApplicationNameDeveloperKey非常簡單,可以在Google控制台中找到。 但是對於其他項目,我需要創建OAuth 2.0 ClientID,這需要我選擇“應用程序類型”是Web應用程序還是服務帳戶。 我的情況應該是什么? 在這種情況下,不需要用戶登錄,因為我不要求訪問他們的日歷-這只是我需要訪問的公共日歷。

  • 什么是重定向URI以及如何使用它。 我應該如何設置?

  • Google的API示例獲取並在會話數據中緩存訪問令牌。 然后,代碼注釋說不要這樣做,而應該使用數據庫。 認真嗎 我真的需要處理緩存訪問令牌嗎? 如果是這樣,Google API中是否有內置的數據庫緩存機制,或者您將如何處理?

我真的在尋找一種更簡單的方法。 歡迎您的指導!

謝謝。

查爾斯答案的注釋中嵌入了一些實現此目的的技巧。 無論如何,從2014年開始(使用Google Calendar v3 API),這就是我所做的:
轉到此處查看v3 API的工作方式:
https://developers.google.com/google-apps/calendar/v3/reference/events/list#try-it

至少在以上鏈接提供的演示Web表單中填寫以下三個字段:
calendarIdcalendarId所有者的URL編碼的電子郵件地址。
timeMax :結束時間
timeMin :開始時間
(使用此時間格式: 2014-05-04T00:00:00-00:00 (Ymd T毫秒-偏移量))

您會看到以下請求已發送出去。

GET https://www.googleapis.com/calendar/v3/calendars/{CALENDER_ID}/events?timeMax={start_time}&timeMin={end_time}&key={YOUR_API_KEY}

現在,您可以根據需要自定義此請求URL,並從代碼中發送常規的GET請求。

PS-要獲取您的API密鑰,請按以下步驟操作:
https://developers.google.com/google-apps/calendar/auth

我認為您太想這個了。 如果您只需要訪問公共日歷上的事件,那么有一種方法可以執行此操作而無需調用Google Calendar API和所有附帶的復雜性。 每個公共 Google日歷都有一個iCal提要,可以通過特定的URL對其進行查看,通常采用以下形式:

http://www.google.com/calendar/ical/{OWNER}/public/basic.ics

其中{OWNER}是日歷所有者的URL編碼的電子郵件地址。

通過查看日歷設置並滾動到“日歷詳細信息”選項卡的底部,可以找到特定的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM