Follower

2019年10月2日 星期三

【PHP】Google Calendar API初探

  本來想把某個已完成的小專案復活,因為牽涉到要顯示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」

在「quickstart.php」中貼上以下程式碼,程式碼來源:https://github.com/gsuitedevs/php-samples/blob/master/calendar/quickstart/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上使用。

沒有留言:

張貼留言