Garoon REST API
サイボウズが提供するグループウェアに Garoon がありますが、2018年5月にREST APIがリリースされました。cURLコマンドで操作してみることにします。 どのようなAPIがあるかはGaroon REST API へアクセスしてみてください。
2018年7月時点では、次のAPIがありました。
- REST APIはスケジュールのみ
- SOAP APIはたくさんある(スケジュール、掲示板、メール、通知、ワークフロー、アドレス帳、ファイル管理、メッセージ、システム管理など)
環境を準備する
この時点では、Garoonには開発者ライセンスがなかったので、試用申し込みへ
環境を準備したら、まずはマウス/キーボードを使ってスケジュールを登録してみます。
cURLコマンド
ユーザー認証を利用するので、「ログイン名:パスワード」をBase64でエンコードした文字列を準備しておきましょう。
予定を取得する(1件)
curl -X GET 'https://{subdomain}.cybozu.com/g/api/v1/schedule/events/{id}' \
-H 'X-Cybozu-Authorization: {ログイン名:パスワードをBase64エンコードした文字列}'
予定を取得する(複数)
- limit=10 >> 10個まで
- rangeStart%3D2018-07-01T00%3A00%3A0%E2%80%8B%E2%80%8B0Z >> 検索対象の開始日時をURIEncodeしたもの
curl -X GET 'https://{subdomain}.cybozu.com/g/api/v1/schedule/events?limit=10&rangeStart%3D2018-07-01T00%3A00%3A0%E2%80%8B%E2%80%8B0Z' \
-H 'X-Cybozu-Authorization: {ログイン名:パスワードをBase64エンコードした文字列}'
予定を登録する(複数)
1件を登録することもできますが、ここでは複数件登録できるAPIで1件を登録してみます。
curl -X POST 'https://{subdomain}.cybozu.com/g/api/v1/schedule/events' \
-H 'X-Cybozu-Authorization: {ログイン名:パスワードをBase64エンコードした文字列}'
-H 'Content-Type: application/json' \
-d '{"subject": "テスト会議", "eventType": "REGULAR", "start": {"dateTime": "2018-07-12T13:00:00+09:00", "timeZone": "Asia/Tokyo"}, "end": {"dateTime": "2018-07-12T14:00:00+09:00", "timeZone": "Asia/Tokyo"}, "attendees": [{"code": "test", "type": "USER"}]}'
ちなみに、登録したJSON文字列を見やすく整形したものは、こちらです。
※ "subject" 以外は必須。
{
"subject": "テスト会議",
"eventType": "REGULAR",
"start": {
"dateTime": "2018-07-12T13:00:00+09:00",
"timeZone": "Asia/Tokyo"
},
"end": {
"dateTime": "2018-07-12T14:00:00+09:00",
"timeZone": "Asia/Tokyo"
},
"attendees": [
{
"code": "test",
"type": "USER"
}
]
}
その他
取得、登録以外にも次のこともできます。
- 予定の更新(PATCH)
- 予定の削除(DELETE)
さいごに
cURLでkintone REST APIを叩く の記事もありますので、参考にしてみてください。