本來想把某個已完成的小專案復活,因為牽涉到要顯示Google Calendar,自己又忘了當初怎麼做的,所以就重新學習,順便紀錄過程。
但其實,因為只是要顯示〈嵌入〉,所以還沒有必要串接API,Calendar本身就有一個嵌入碼可以直接使用,不過都已經做了,所以基本串接API和嵌入Calendar都會講。
1. PHP - 串接Google Calendar
首先看到主頁面,找到PHP的部分點進去。
|
Google Calendar API主頁面 |
|
找到PHP點進去 |
開啟 Google Calendar API並下載Client端的組態檔,下載回來的組態檔名稱叫做「credentials.json」。
|
下載Client端得組態檔 |
在要串接的專案資料夾中下指令「composer require google/apiclient:^2.0」。
|
下指令:composer require google/apiclient:^2.0 |
|
長出來這麼一大票東西,總之就是成功了 |
再來是新增一個名為「quickstart.php」的檔案。
|
新增檔案「quickstart.php」 |
|
貼上程式碼,大概會長這樣 |
把剛剛的Client組態檔「credentials.json」放進專案資料夾,由於這是一個我做過的專案,所以會有其他檔案,除了「composer.json」和「composer.lock」是剛剛在cmd下指令後產生的檔案,其他檔案不用理他。
|
Client組態檔遷「credentials.json」移到專案資料夾底下 |
在cmd中把讓quickstart運作,下指令「php quickstart.php」,之後把下面那串網址貼到瀏覽器。
|
下指令後,把下面的網址貼到瀏覽器 |
會出現要存取你的Google Calendar的權限同意。
|
權限同意-1 |
|
權限同意-2 |
取得授權碼。
|
取得授權碼 |
將授權碼貼到剛剛的地方。
|
貼上授權碼 |
你的Gmail會通知你已取得授權
|
通知取得授權-1 |
|
通知取得授權-2 |
預設的程式碼中,只會叫出下面10個待執行(排程)的事件。
|
叫出下面10個待執行的事件 |
結果輸出,我還有兩個事件要執行。
|
輸出事件 |
2. 嵌入日曆
這個比較簡單,首先去你的Google Calendar中的「設定」
|
去Google Calendar中的「設定」 |
找到自己的日曆。
|
找到自己的日曆 |
找到「整合日曆」,底下有一個嵌入碼,直接貼在你要用的地方就好。
|
找到嵌入碼 |
顯示結果。
|
出來了! |
這對老練的開發者來說應該非常簡單,不過我還是隨筆紀錄一下,有需要的可以來看看。Google很多東西可以串起來玩,連日曆這都還是基本,改寫「quickstart.php」的程式碼應該玩出更多變化。
之後有空會寫寫PHP Mailer套件的部分,會用這個套件,是出於Laravel我在實作上常常碰到信件發送的問題,雖然我用PHP Mailer時並不是在框架上,不過以自幹的角度來看,也一定程度上解決發信的困難,未來再嘗試看看能不能在Laravel上使用。
沒有留言:
張貼留言