zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【CentOS6】aipo_to_gcal(Aipoのカレンダーをgoogleカレンダーに同期するツール)のセットアップメモ

# 手順
# http://qiita.com/fantasista_21jp/items/4172f4062b44cbc004db

上記手順のままではCentOS6で動かなかった?ので自分の作業メモ。

# Google Developer Consoleでの設定等事前準備については上記手順書に従ってください。

# 設置先について:
# php55以降が必要とのこと。

php -v
# PHP 5.5.34 (cli) (built: Mar 31 2016 17:19:11)
# Copyright (c) 1997-2015 The PHP Group
# Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
→OK

# Composer導入前にphp.ini修正
cp /etc/php.ini /etc/php.ini.bak

vi /etc/php.ini
# -----timezoneを設定
date.timezone = "Asia/Tokyo"
# -----

# -----以下を下端に追加
detect_unicode = Off
# -----

# 同期ツール(aipo_to_gcal)のソースをgitから取得

以下hogehogeユーザで作業
cd ~
git clone https://github.com/fantasista21jp/aipo_to_gcal.git
# remote: Counting objects: 48, done.
# remote: Compressing objects: 100% (23/23), done.
# remote: Total 48 (delta 24), reused 46 (delta 24), pack-reused 0
# Unpacking objects: 100% (48/48), done.

# Composer用意

cd aipo_to_gcal
curl -s http://getcomposer.org/installer | php
# All settings correct for using Composer
# Downloading 1.0.0...
# 
# Composer successfully installed to: /home/hogehoge/composer.phar
# Use it: php composer.phar

php composer.phar install
# Loading composer repositories with package information
# Updating dependencies (including require-dev)
#   - Installing google/apiclient (1.1.2)
#     Downloading: 100%
# 
#   - Installing react/promise (v2.2.0)
#     Downloading: 100%
# 
#   - Installing guzzlehttp/streams (3.0.0)
#     Downloading: 100%
# 
#   - Installing guzzlehttp/ringphp (1.0.5)
#     Downloading: 100%
# 
#   - Installing guzzlehttp/guzzle (5.1.0)
#     Downloading: 100%
# 
#   - Installing kigkonsult/icalcreator (dev-master ae7c760)
#     Cloning 省略
# 
# Writing lock file
# Generating autoload files

# p12証明書を配置
/home/hogehoge/aipo_to_gcal/hogehoge.p12


# configsファイル作成
vi configs.php

<?php
// =========================================================
// Settings
// =========================================================
$clientId = 'hogehoge';
$authEmail = 'hogehoge@gserviceaccount.com';
$p12Key = '/home/hogehoge/aipo_to_gcal/hogehoge.p12';
$targetCalendar = 'hogehoge-schedule';
$aipoUser = 'hogehoge';
$aipoPasswd = 'fugafuga';
$aipoIcalUrl = 'https://hogehoge.jp/ical/calendar.ics';
// =========================================================

# テスト実行
php /home/hogehoge/aipo_to_gcal/upload.php

# 追加して実行
php /home/hogehoge/aipo_to_gcal/upload.php
# [Insert Event]:同期のテストです (2016-04-16T13:00:00+09:00)

# 削除して実行
php /home/hogehoge/aipo_to_gcal/upload.php
# [Delete Event]:同期のテストです (2016-04-16T13:00:00+09:00)

→該当のGoogleカレンダーに同期されたことを確認。OK

# hogehogeのcrontabに設置
# 5分おきに実行

## aipo_to_gcal for hogehoge
*/5 * * * * /usr/bin/php /home/hogehoge/aipo_to_gcal/upload.php

以上