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 全日予定の同期に対応

おすすめ記事一覧

 - Google, Salesforce