メモ PHP Google Calendarに予定新規作成

概要

Google Calendar API を使って、既存のカレンダーアプリの内容をGoogle Calendarに反映する。
ということをしたかった。。。がしばらくはまったことのメモ。

環境

  • CakePHP
  • Zend Gdata 1.11.2

ZendのGdataを使えばさくさくっとできるだろうと思っていたが、
APIのバージョンが上がっていることで、一部うまく動かない模様。

具体的には、ZendのSiteのドキュメントを見ながら値を設定したが、
イベント作成の時に設定したcontentが登録されない。

時間やタイトル、場所等はちゃんと設定された。

JSON-C

バージョン2からの新しいデータフォーマットのようだ。
JSON-C

対処

検索してみると、githubに新しいフォーマットで書かれたものを見つけた。
Google-Calendar-API-PHP-Class

まだバージョン2のApiも完全ではないようなので、出来る機能は限られているようだ。

でもこれを使うとちゃんとイベント作成時に、contentも反映されてた。
ただしバージョン2では名前がdetailsになっている。

必要だった物

  • pecl_http
  • libcurl-devel

インストール
#yum -y libcurl-devel
#pecl install pecl_http

peclインストール時にエラーがでたら、他のものも必要かもしれません。

設定

ファイルの配置

app/libs/gcalendar.class.php

処理実行

e.g. app/contorllers/hoge_controller.php

<?php 
public funciton googlecalendar(){
	App::import('Lib', 'GCalendar', array('file' => gcalendar.class.php));
	$gcalendar = new GCalendar('your_email', 'your_password');
	if($gcalendar->authenticate()){
		$gcalendar->createEvent(....);
		// 実行したい処理
		........
	}
}
?>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください