Googleカレンダーの予定をSalesforceのEventに同期する[PHP]<続編>
2016/11/25
前回こんなの書きました
GoogleカレンダーとSalesforceのEventを同期する方法。簡易版と完全版
GoogleのAPIに変更が入ったりして使えなくなったので中身を変えました。
コードはgithubに置いた
https://github.com/geeorgey/gcaltosfevent
なんでこんなもの書いたのか
カレンダー同期が出来るアプリはAppExchange見れば幾つかあるのですが、どれも高い!!それ導入するなら他に導入したいものがあるんだよ!!という感じで、いつまでたっても実装しづらかったので書いちゃいました。
言い訳
@geeorgeyはプログラマじゃないので、もう少しスマートにかけるとか、ここはまずいとかあればツッコミをお願いします。
機能的なモノ
- Googleカレンダーに入っている予定を取得し、Salesforceの行動にコピーします
- 既に入っている場合で、Googleカレンダーが更新された場合はupsertします(更新)
- 終日の予定は同期されません 同期される様になりました
- Googleカレンダーのスケジュールが削除された場合は、Salesforceのイベントも削除されると理想なのですが、外部IDでの削除がうまくいかなかったので、日付を過去に変更して処理しています。ISDELETEフラグ立てるだけじゃ削除したことにならないのね…
ハマった所
- php-soap入れるのにハマりました。PHP5.5.40だとうまくいかなかったので結局PHPを5.5.45にアップデートして入れました。
- 最初のリンク先の記事ではrubyで書いていたのですが、PHPに書きなおしました。ツラい。
- GoogleAPIのページのサンプルコードが一部間違っていてquickstartで躓いたりした。全然quickじゃない!
更新履歴
- 2016.11.25 全日予定の同期に対応