31
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AipoのスケジュールをGoogleカレンダーに同期表示する

Last updated at Posted at 2015-02-27

AipoのスケジュールをGoogleカレンダーに同期表示する

これ単体で動きます。
PHP5.4から対応です。(Guzzle3使ってるので)

Google Developer Consoleでの設定

新規プロジェクトの作成

https://cloud.google.com/console へアクセスして、Google Calendar 連携用のプロジェクトを作成します

ss01.png

Google Calendar APIの有効化

APIタブでプロジェクトでGoogle Calendar APIを有効化します

ss03.png

認証情報の生成と取得

プロジェクトで利用するクライアントIDを作成します

ss05.png

クライアントIDのタイプは「サービス アカウント」になります。

Google_Developers_Console.png

鍵ファイル(~.p12)がダウンロードされるので保存しておくこと。

Google Calendarでの設定

Aipo用カレンダーを追加

スクリーンショット_2015-01-13_10.37.07.png

Google_カレンダー.png

カレンダー名を使うので覚えておくこと。
特定のユーザと共有に先ほど作ったクライアントIDのメールアドレスを入力。
(~@developer.gserviceaccount.com)
※[権限の設定]を「変更および共有の管理権限」または「予定の変更権限」に設定

同期ツールの設定

インストール

git clone git@github.com:fantasista21jp/aipo_to_gcal.git
cd aipo_to_gcal
composer install

設定

configs.php の↓の部分を自分の設定に合わせて修正

$clientId = 'Your Client ID';
$authEmail = 'Your Auth Email';
$p12Key = 'Your P12 Key File Path';
$targetCalendar = 'Your Calendar Name';
$aipoUser = 'Your Aipo User';
$aipoPasswd = 'Your Aipo Password';
$aipoIcalUrl = 'Your Aipo Ical URL';

動かす

/usr/bin/php /pathto/upload.php

↑で動くのでシェルファイルを作って cron.daily, cron.hourly とかに突っ込めば幸せになれるよ。

なお、とりあえず自分用に時間かけずに作ったので、ソースコードにはあんまりツッコミ入れないでね。

追記

PHP7 で使いたい人は、composer.json の guzzlehttp/guzzle, guzzlehttp/ringphp のバージョンをそれぞれ、6.2.2, 1.1.0 とかの新しいものに指定して、
composer update して下さい。

追記2

内容(説明)と場所も同期するようにしてみました。
https://github.com/fantasista21jp/aipo_to_gcal

31
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?