javaAIPOのモバイル画面のスケジュールがものすごーく見づらいのでGoogleカレンダーにAIPOのスケジュールを書き出してGoogleカレンダーでスケジュールを確認できるようにします。今回はjavaを使用してGoogleカレンダーAPIを操作します。やり方は完全な同期というわけではなく、AIPO→Googleカレンダーへの反映です。Googleカレンダーの予定を消して新たにAIPOスケジュールを書き出すというのを定期的に実行します。Googleカレンダーの予定を変更してもAIPO側には同期されません。AIPOのスケジュールをGoogleカレンダーに表示するだけです。Googleカレンダー側の設定GoogleカレンダーでAIPO用の新しいカレンダーを作成します。作成しなくてもいいんですが、プライマリーを使用するとAIPO以外のスケジュールも消えてしまいます。「友だちのカレンダーを追加」と書かれている右のプラスボタンをクリックして「新しいカレンダー」を選択。名前を「AIPO」として作成します。マイカレンダーのAIPOの右のメニューバーから「設定と共有」を選択。新しいプロジェクトの作成デベロッパーコンソールで新しいプロジェクトを作成。作成しなくてもすでにあるプロジェクトを使用しても構いません。コンソール左上のセレクトボックスを押す。プロジェクトの選択画面が出るので「新しいプロジェクト」を選択。適当にプロジェクト名を決めて「作成」。左上のナビゲーションメニューから「APIとサービス」→「ライブラリ」を選択。「calendar」と検索。「有効にする」をクリック。認証情報の「OAuth同意画面」で「ユーザーに表示するサービス名」を設定して「保存」。作成」→「OAtuhクライアントID」を選択。「アプリケーションの種類」を「その他」にして名前を適当に付けます。右のダウンロードボタンからJSONファイルをダウンロードします。保存したファイル名を「client_secret.json」に変更します。java側のプログラムecliseの設定クライアントプログラムはeclipseで作成します。Gradleを使用しますのでeclipseでGradleが使えるようにプラグインをインストールします。「ヘルプ」→「Eclipseマーケットプレイス」で「Gradle」と検索します。Packをインストール。これでGradleが使用できます。新規プロジェクトで「Gradle(STS)プロジェクト」を作成。Quickstartでいいでしょう。プロジェクト作成するとサンプルクラスが作成されているので削除します。build.gradleを以下に書き換えます。'com.google.apis:google-api-services-calendar:v3-rev305-1.23.0'}mainClassNameは実行するクラス名にしてください。プロジェクトを右クリック→Gradle(STS)→「すべてリフレッシュ」します。他の環境設定さきほどダウンロードして名前変更したclient_secret.jsonを「src/main/resources」に保存します。AIPOはPostgreSQLで動いていますのでPostgreSQLのJDBCドライバを用意します。Download保存したjarファイルをプロジェクト直下にコピーしてビルドパスを通します。「CalendarQuickstart」という名前でクラスを作成します。value;}}}カレンダーIDとAIPOのユーザーIDはプログラムに書いてしまってもいいのですが、誰でも使えるように設定ファイルから読み込む形にしました。「conf.txt」という名前で作成します。10129ukdoqtdk1u6gr3a15hhfpefa4@group.calendar.google.com101行目に一番はじめに作ったGoogleカレンダーのカレンダーID、2行目にAIPO側のユーザーIDを書いておきます。テスト時は「プロジェクトルート\bin」に置いておきます。このプログラムはあくまで開始日が本日以降のスケジュールしか対象にしていません。繰り返しの予定は普通開始日が本日より以前なので対象外となっています。開始日が未来だとしても繰り返し設定はないですが・・・ちょっとそこまで対応するのは面倒なのでやってません。Googleカレンダー側のスケジュールIDをこちらで決められるので、そういったことを使えば消去して挿入ではなく、更新という形で同期が実現できそうです。テスト実行してみます。ソースファイルを右クリックして実行。初回起動時にブラウザが起動してリクエストの許可を促す画面が表示されますので許可します。Googleカレンダーに予定が書き込まれたと思います。リクエストを許可すると「credentials」というフォルダが作られ、その中に認証状態が保存されます。このフォルダを削除すれば未許可状態に戻ります。本番用jarファイルの作成プロジェクトを右クリック→エクスポート→Java→実行可能JARファイルを選択。起動構成に「CalendarQuickstart」を選択してjarを作成します。作成されたjarと同階層に「conf.txt」を置いてjarを実行するだけです。あとはこれをタスクスケジューラで動かすなりして定期実行します。AIPOのテーブルについて(おまけ)Windows版の場合、AIPOのPostgresのID、パスワードは「C:\aipo\dpl004\tomcat\webapps\aipo\WEB-INF\datasource\dbcp-org001.properties」に書いてありました。IDはおそらく「aipo_postgres」固定だと思います。デフォルトでは外部からの接続が許可されていないので、同期用プログラムを他のPCから実行する場合は外部からの接続を許可する必要があります。「C:\aipo\dpl004\postgresql\data\postgresql.conf」のlisten_addressesと書かれている部分を検索してコメントを外します。'*'「C:\aipo\dpl004\postgresql\data\pg_hba.conf」の一番下を以下に変えます。trust0.0.0.0/0でどこからでも接続可能です。AIPOを再起動すれば完了です。AIPOのユーザーIDAIPOのユーザーIDは管理画面からは見られません。「turbine_user」というテーブルがユーザーマスタなのでこちらを見てください。KGサーフィン、キャンプからプラモデル製作まで、多趣味なアラフォーです。システムエンジニアをやっています。少年サッカーの審判、コーチを始めました。コメントをキャンセルメールアドレスが公開されることはありません。110KGサーフィン、キャンプからプラモデル製作まで、多趣味なアラフォーです。システムエンジニアをやっています。少年サッカーの審判、コーチを始めました。ECHI同い年の旦那さんと26歳の時にカナダで出会い帰国後28歳で結婚して、2人の男の子のママになりました。̆`*)♡日々私が体験したり思ったり、気になった事など書いていきたいと思います。WordPress.。