Index
予定の取得(1件)
予定IDを指定して予定の内容を取得できます。
- 繰り返し予定の場合、元の予定を返します。
HTTP メソッド
GET
URI
クラウド版
https://(サブドメイン名).cybozu.com/g/api/v1/schedule/events/{id}
パッケージ版(Windows環境)
以下は、ヘルプに記載している Windows のディレクトリー構成でインストールしたときの例です。インストールするディレクトリーを変更している場合は、パスを読み替えてください。
http://(サーバーのIPアドレスまたはホスト名)/scripts/(インストール識別子)/grn.exe/api/v1/schedule/events/{id}
パッケージ版(Linux環境)
以下は、ヘルプに記載している Linux のディレクトリー構成でインストールしたときの例です。インストールするディレクトリーを変更している場合は、パスを読み替えてください。
http://(サーバーのIPアドレスまたはホスト名)/cgi-bin/(インストール識別子)/grn.cgi/api/v1/schedule/events/{id}
使用可能なガルーンのバージョン
-
クラウド版 Garoon
-
パッケージ版 Garoon バージョン 4.10.0以降
必要なアクセス権
予定の閲覧権限
リクエストパラメータ
パラメータ名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
id | 数値 | 必須 |
取得する予定の予定IDを指定します。 |
リクエストの例
GET /g/api/v1/schedule/events/1 HTTP/1.1 Host: {subdomain}.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
- Content-Typeヘッダは不要です。
レスポンスの例
処理が成功すると、予定の内容がJSON形式で返されます。 ※各フィールドの形式については スケジュールのeventオブジェクトをご確認ください。
JavaScript サンプル
XMLHttpRequest
予定の一覧取得(クエリで条件を指定)
予定をクエリで条件を指定して取得できます。
- 繰り返し予定を含む場合、すべての日の予定を返します。
- 仮予定を含む場合、すべての候補の予定を返します。
- クエリで target を指定しない場合、API を実行したユーザーが参加する予定のみ取得できます。
- 画面で「予定あり」と表示されていても、API を実行したユーザーが閲覧できない予定(非公開の予定)は取得できません。
非公開の予定を含む予定の有無を調べる場合は、空き予定の検索 API をご利用ください。
HTTP メソッド
GET
URI
クラウド版
https://(サブドメイン名).cybozu.com/g/api/v1/schedule/events
パッケージ版(Windows環境)
以下は、ヘルプに記載している Windows のディレクトリー構成でインストールしたときの例です。インストールするディレクトリーを変更している場合は、パスを読み替えてください。
http://(サーバーのIPアドレスまたはホスト名)/scripts/(インストール識別子)/grn.exe/api/v1/schedule/events
パッケージ版(Linux環境)
以下は、ヘルプに記載している Linux のディレクトリー構成でインストールしたときの例です。インストールするディレクトリーを変更している場合は、パスを読み替えてください。
http://(サーバーのIPアドレスまたはホスト名)/cgi-bin/(インストール識別子)/grn.cgi/api/v1/schedule/events
使用可能なガルーンのバージョン
-
クラウド版 Garoon
-
パッケージ版 Garoon バージョン 4.10.0以降
必要なアクセス権
予定の閲覧権限
リクエストパラメータ
パラメータ名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
limit | 数値 |
省略可 |
取得する予定の制限数を指定します。 要求パラメータで指定された条件に一致する予定がさらにある場合でも、予定数は指定した値より少なくなる可能性があります。 デフォルト値 :100 注意事項: |
offset | 数値 | 省略可 |
取得する件数の先頭からスキップする数を指定します。 |
fields |
文字列 |
省略可 |
取得するプロパティを指定します。 |
orderBy |
文字列 |
省略可 |
ソート条件は、プロパティ名とソート順で指定します。
プロパティ名と並べ替え順の間に半角スペースをいれてください。 デフォルト値 :"updatedAt asc" |
rangeStart | 文字列 | 省略可 |
検索対象の開始日時をRFC3339形式で指定します。
"rangeEnd"が指定されている場合、"rangeEnd"より小さい値を指定する必要があります。 |
rangeEnd | 文字列 | 省略可 |
検索対象の終了日時をRFC3339形式で指定します。 |
target | 文字列 | 省略可 |
IDを指定して絞り込みます。
"targetType"が指定された場合、指定は必須です。
|
targetType | 文字列 | 省略可 |
絞り込むタイプを指定します。
"target"が指定された場合、指定は必須です。 |
keyword | 文字列 | 省略可 |
予定検索のキーワードを指定します。
"excludeFromSearch"が指定されている場合、指定は必須です。 |
excludeFromSearch | 文字列 | 省略可 |
キーワード検索から除外する要素を指定します。
カンマで区切って複数の値を指定できます。 |
showPrivate | 真偽値 | 省略可 |
次に該当する、閲覧権限のない予定も含めて取得するかどうかを指定します。
クラウド版 Garoon でのみ、利用できるパラメーターです。 次のいずれかの値を指定します。
省略した場合、false が設定されます。非公開の予定を完全に隠す設定をしている場合、targetType に「user」または「organization」を指定していると、非公開の予定を取得できません。 |
リクエストの例
GET /g/api/v1/schedule/events?limit=100&orderBy=updatedAt%20asc HTTP/1.1 Host: {subdomain}.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
- Content-Typeヘッダは不要です。
レスポンスの例
処理が成功すると、リクエストパラメータで指定された条件で、予定の内容がJSON形式で返されます。 ※各フィールドの形式については スケジュールのeventオブジェクトをご確認ください。
JavaScript サンプル
XMLHttpRequest
制限事項
共通仕様の制限事項 をご確認ください。
「予定の取得1件」は取得出来ているのですが、「予定の一覧取得」を取得しようとしてもステータスコード200でレスポンスデータが取得出来ません。考えられる原因があれば教えて頂けますでしょうか。
~ $ curl -X GET 'https://*****.cybozu.com/g/api/v1/schedule/events' -H 'X-Cybozu-Authorization:*********'
{
"REQUEST_METHOD": "GET",
"ROUTES_PARAMETER": [],
"POST_DATA": {
"_notimecard": true
}
}~ $
Kuwajima 様
(リリース前ですので先行環境でのお試し中と存じます。)
Garoon REST APIの共通仕様の「レスポンス」のセクションのとおり、ステータスコードが200と言いますと、成功している状況です。
まずは、クエリでの指定はせず、全件取得ができるかどうか試してみていただけますでしょうか。
全件取得ができた場合は、クエリに問題があるということができると思います。
なお、GaroonのREST APIはkintoneと異なりGETがボディで指定できません。その点もご留意いただければと思います。
もしまたご不明な点がありましたらご連絡ください。
ご返信ありがとうございます。
リクエストパラメータでクエリの指定はしておりません。「https://*****.cybozu.com/g/api/v1/schedule/events」で全件取得しようと確認しています。なお、クエリパラメータで絞り込みを行なっても同様でした。GETのBODYも指定はございません。なお「https://****.cybozu.com/g/api/v1/schedule/events/1」はレスポンスが返って正常に動作します。
1点気になって事として、「リリース前ですので先行環境でのお試し中と存じます。」とございましたが、現時点ではこちらのサイト「https://garoon.cybozu.co.jp/trial_garoon/」から取得する評価環境では動作しない状況でしょうか?リリース前(5月にリリース?)というのは認識しておりましたが、先行して確認できるサイトは別にあるのでしょうか?
お手数お掛けしますが引き続き宜しくお願いいたします。
Kuwajima様
失礼しました。パートナー様向けの先行環境かと早合点しておりました。
リリース前ですので、「https://garoon.cybozu.co.jp/trial_garoon/」の評価環境では動作しないのが正常かと思います。
正式リリース日は5月13日になりますので、それ以降で不具合がありましたらまたご連絡いただけますでしょうか。
当サイトのお知らせ記事は以下です。
https://developer.cybozu.io/hc/ja/articles/360000474423
製品サイトのお知らせは以下です。詳しい時間が記載されています。
https://cs.cybozu.co.jp/2018/006649.html
ご確認のほどよろしくお願いいたします。
情報のご提供ありがとうございます。5月13日以降に再度ご確認させて頂きます。
再び確認したところ、予定の一覧を取得出来るようになっておりました。ご支援頂きましてありがとうございました。
APIをkintoneから叩いてみたところ、自分が参加している予定しか取得できませんでした。
「予定の閲覧権限のある」という記載がありますが、他のユーザーが全体に公開している、自分が参加していないスケジュールは取得できないのでしょうか?
大西様
cybozu developer networkをご利用いただきありがとうございます。cybozu developer network運営事務局です。
ログインユーザーが参加していないスケジュールの取得ができないとのことですが、以下をお試しいただけますでしょうか?
よろしくお願いいたします。
ありがとうございます。
予定IDやtargetの指定により取得ができました。
ちなみに、複数名の複数予定をクエリを用いて取得したいときはどのように指定すればいいでしょうか?
また、なぜGaroonAPIでは共通管理のユーザーIDは異なるGaroonユーザーのID値を使用しているのでしょうか?
Garoonユーザー情報取得のREST APIが存在しないので動的にユーザー情報を用いた処理をするために別途SOAP APIを用いる必要があり、正直これでは実用が難しいです。
そもそも共通管理にIDが紐付けられているのに異なるIDが必要になる事自体、問題かと思います。
せめてcodeでの指定を可能にするなど、何らかの改善を願います。
ご検討のほどよろしくお願いいたします。
大西様
>ちなみに、複数名の複数予定をクエリを用いて取得したいときはどのように指定すればいいでしょうか?
現状のAPIでは複数名指定はできません。今後の要望として検討いたします。
>また、なぜGaroonAPIでは共通管理のユーザーIDは異なるGaroonユーザーのID値を使用しているのでしょうか?
改善要望ありがとうございます。
たしかにおっしゃるとおり共通管理と異なるGaroon側でのユーザーIDを利用しています。
Garoon側でも今後ユーザー情報取得のREST APIを検討しております。
居るはずのユーザーIDで、スケジュール一覧を取り出そうとすると、「targetで指定した対象が存在しません。」と返ってきて、混乱していたのですが、大西さんの書き込みで状況が理解できました。
同じくSOAPでGaroonIDを取り出すというのは実用的でないので、GaroonのユーザーID以外(共通管理のユーザーID、コードやemailなど)が、Garoon REST APIで使用できることを期待します。
お世話になります。
同僚の予定をJSONで取得するため期間指定して「一覧取得」を行ったところ、
「公開」の予定は全て取得できたのですが、その同僚が「非公開」設定している予定だけは、取得されませんでした。
本来12個のEventオブジェクトが返るはずが、非公開の2個を除く10個のみレスポンスが返る、という状況です。
画面で同僚の予定を閲覧すると、非公開の予定は「予定あり」と表示され、時刻くらいはわかるので、
同じレベル(時刻のみ)のEventオブジェクトが取得できると期待したのですが、、、
非公開のEventを取得するためのパラメータ指定や、確認すべき設定などありましたらご教示ください。
宜しくお願い致します。
大竹 淳様
お世話になっております。cybozu developer network 運営局です。
リクエストパラメータ の limit に以下の記載がありますように、非公開の予定は閲覧権限がないので取得でない仕様となっております。
「要求パラメータで指定された条件に一致するレコードの中で、閲覧権限がないレコードを除外して返します。」
よろしくお願いたします。
回答ありがとうございます。仕様とのこと、了解しました。
もし可能であれば、画面と同様に"予定あり"と表示され時刻データだけ取得できるような機能になれば嬉しいです。
今後の改善要望として、宜しくお願い致します。
あるいは、既に何らかの代替方法で同じような表示が可能だったりするでしょうか?
もしよい方法があれば教えてください。
大竹 淳 様
お世話になっております。cybozu developer network 運営局です。
ご要望ありがとうございます。
社内にフィードバックさせていただきます。
他に代替案がございません。
ご要望にお応えできず申し訳ありません。
引き続きdeveloper network をご活用いただければ幸いです。
よろしくお願いいたします。
予定の一覧取得において、hasNext: trueのとき、offsetに指定するべき値の仕様に関して質問です。
limitに関する説明で「予定数は指定した値より少なくなる可能性があります。」とありますが、offsetの値は閲覧権限がない予定を除外される前の数値と、除外された後の数値のどちらを指定するのでしょうか?
例えば最初にlimit: 100, offset: 0で一覧取得したときのレスポンスとしてhasNext: trueでeventsの個数が95だったとして、全件取得するために2回目のAPI呼び出しを行うとき、offset: 100で行うべきか、それともoffset: 95で行うべきか、どちらでしょうか?
Kei Misawa 様
お世話になっております。cybozu developer network 運営局です。
offset は取得できたレコードの数をもとにご指定ください。
ご記載の例ですと、 offset に 95 を指定していただければと思います。
また、こちらのコメント欄は、記事自体へのフィードバック用となりますので、
技術的な問題などに関するご質問は、ぜひコミュニティをご活用ください。
よろしくお願いいたします。
回答ありがとうございます。今後はコミュニティにて質問させていただきます。
予定の一覧取得 において、target に組織ID、targetType にorganization を記載してGETしても、空データが返ってきます。
user や、facility では動作するので、記載違いとは思えないのですが、organization で取得は可能でしょうか。
組織ID については /api/v1/base/organizations で取得したID を使っています。
高橋留美 様
当方の手元の環境で確認いたしましたが、target に組織ID、targetType に "organization" を指定して /api/v1/schedule/events を実行いたしましたが、実データが返りました。
組織ID については /api/v1/base/organizations で取得したID を使っております。
開発者ツールのコンソールにエラーが出ていないか、
出ていない場合は予定の閲覧権限をご確認いただけますでしょうか。
エラーはでておりません。
また、Administrators はすべて閲覧可能な権限にしていますので、そのアカウント(複数)でも試しましたが、空データが返ってきました。
前提が誤っているかもしれないのですが、組織を指定した場合、返ってくるデータは、組織の所属する人分のスケジュールという認識で合っていますでしょうか。
高橋留美 様
お世話になっております。cybozu developer network 運営局です。
組織を指定した場合に、参加者として登録された組織のスケジュール情報が取得できます。
例えば「国内営業部」の組織IDを指定した場合、こちらのように「国内営業部」が参加者として登録されたスケジュールの情報が取得できると思います。
お手数なのですが、ご確認のほどよろしくお願いいたします。
ご回答ありがとうございます。
やはり、こちらの前提が誤っておりました。申し訳ありません。
組織の予定機能は利用してないため、空データであっております。
そのため、質問に関してはクローズでお願いいたします。