前言

範例
先讓你過過乾癮,這個小小的網站就是透過Google Calendar API 將資訊存在Google Calendar 上,也是接下來幾天的Lab 要做的,你可以試著新增、刪除事件,然後每個事件會在發生前5分鐘透過Google 傳簡訊通知我: http://functionlab.org/GClab/ 。當你新增事件之後,可以到Google 的畫面去檢視被寫入的事件:FUNction's Lab 公開日曆
讓我們開始吧
如果你不知道什麼是Google Calendar ,或是日曆裡還沒有建立事件,請參考Google Calendar (行事曆/日曆) 使用教學,因為接下來的程式會需要讀取你自己的日曆,請務必先手動建立幾筆事件。還有你要有心理準備,今天幾乎碰不到程式,今天的目標是把環境建立起來。
使用Zend Gdata

建立檔案架構
在你可以執行PHP 的網站根目錄(可能名為htdocs, www, wwwroot...)開一個資料夾,就把它取名為「GClab」吧,代表Google Calendar 的練習。然後接著把剛剛下載來的library 資料夾複製到GClab 之下,這樣檔案架構就搞定了!
建立config.inc.php 檔案
如果要讀取你的Google 日曆,會需要你的Google 帳號、密碼。如果你需要指定讀取哪一本日曆,還會需要他的ID。
我們在GClab 資料夾下建立名為config.inc.php 的檔案,內容如下:
<?php
//以下欄位請依照自己需要調整
$googleAccount = 'myname@gmail.com'; //Google 帳號
$googlePassword = 'mypassword'; //Google 密碼
$calendarID = 'myname@gmail.com'; //Google Calendar 的 ID
?>

接著,我們要讓系統能載入Gdata 函式庫,所以我們要在剛剛的檔案中加入一些include path 的設定:
//這裡透過程式碼動態修改php.ini 的include_path 值
//告訴系統Zend Gdata Library 的位置
$slash = (strstr(ini_get('extension_dir'), '/'))?"/":"\\"; //Windows 與Unix 的斜線方向不同,需要考慮到
$includePath = dirname(__FILE__).$slash.'library';
ini_set('include_path', $includePath); //動態設定php.ini
//這邊是在設定程式把Zend Gdata Library 載入程式碼中
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
最後,我們在瀏覽器輸入http://localhost/GClab/config.inc.php 。只要不出現錯誤訊息,就代表今天的練習成功啦!順便很興奮的告訴你,我們已經完成一半了。
範例程式下載:GClab-part-1.zip
下一篇: [教學] 在PHP 中使用Google Calendar API - Part 2 取得事件列表
讀者回應 ( 7 意見 )
訂閱張貼留言 (Atom)
版主你好!
請問:
index.php 怎麼在web site上面是空白的?
因為這是part 1 阿XD
大大:
有錯誤耶
不知啥原因,錯誤訊息如下:
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in d:\appserv\www\gclab\library\Zend\Loader.php on line 52
= =……欺骗感情……竟然分part 1 part2!!!!!
http://framework.zend.com/download/webservices 不能連結。
請問Zend 公司的Gdata 函式庫是哪一個版本?
目前另找這個頁面:
http://framework.zend.com/downloads/latest
請問有針對新版本ZF2的嗎?
請問一下,這http://framework.zend.com/downloads/latest下載,Zend_Gdata Version 1.12.18,怎麼用,看了超多文章都是搞不定,麻煩大大幫忙
張貼留言
如果沒有帳戶,建議使用「名稱/網址」留言喔^^