カテゴリー内の他の記事

予定の取得(GET)

フォローする

Index

予定の取得(1件)

予定IDを指定して予定の内容を取得できます。

  • 繰り返し予定の場合、元の予定を返します。

HTTP メソッド

GET

URI

クラウド版

https://(サブドメイン名).cybozu.com/g/api/v1/schedule/events/{id}

パッケージ版(Windows環境)

http://(サーバーのIPアドレスまたはホスト名)/scripts/(インストール識別子)/grn.exe/api/v1/schedule/events/{id}

パッケージ版(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オブジェクトをご確認ください。

予定の一覧取得(クエリで条件を指定)

予定をクエリで条件を指定して取得できます。

  • 繰り返し予定を含む場合、すべての日の予定を返します。
  • 仮予定を含む場合、すべての候補の予定を返します。

HTTP メソッド

GET

URI

クラウド版

https://(サブドメイン名).cybozu.com/g/api/v1/schedule/events

パッケージ版(Windows環境)

http://(サーバーのIPアドレスまたはホスト名)/scripts/(インストール識別子)/grn.exe/api/v1/schedule/events

パッケージ版(Linux環境)

http://(サーバーのIPアドレスまたはホスト名)/cgi-bin/(インストール識別子)/grn.cgi/api/v1/schedule/events

使用可能なガルーンのバージョン

  • クラウド版 Garoon
  • パッケージ版 Garoon バージョン 4.10.0以降

必要なアクセス権

予定の閲覧権限

リクエストパラメータ

パラメータ名 指定する値 必須 説明
limit 数値

省略可

取得する予定の制限数を指定します。

要求パラメータで指定された条件に一致する予定ががさらにある場合でも、予定数は指定した値より少なくなる可能性があります。
使用できる値は1〜1000です。

デフォルト値:100

注意事項:
要求パラメータで指定された条件に一致するレコードの中で、閲覧権限がないレコードを除外して返します。

offset 数値 省略可

取得する件数の先頭からスキップする数を指定します。
指定できる数値は0から無制限です。

fields

文字列

省略可

取得するプロパティを指定します。
カンマで区切って複数の値を指定できます。

orderBy

文字列

省略可

ソート条件は、プロパティ名とソート順で指定します。

  • プロパティ名
    - createdAt 
    - updatedAt 
    - start
  • 並べ替え順
    - asc
    - desc

プロパティ名と並べ替え順の間に半角スペースをいれてください。
例: "createdAt desc"

デフォルト値:"updatedAt asc"

rangeStart 文字列 省略可

検索対象の開始日時をRFC3339形式で指定します。
例:

  • UTCで指定する場合:2017-10-19T00:10:30Z
  • JSTで指定する場合:2017-10-19T00:19:30+09:00

"rangeEnd"が指定されている場合、"rangeEnd"より小さい値を指定する必要があります。

rangeEnd 文字列 省略可

検索対象の終了日時をRFC3339形式で指定します。
フォーマットは"rangeStart"と同じです。
"rangeStart"を指定する場合は、"rangeStart"より大きい値を指定する必要があります。

target 文字列 省略可

IDを指定して絞り込みます。

  • 出席者(ユーザー)によって絞り込む場合:ユーザーID
  • 出席者(組織)によって絞り込む場合:組織ID
  • 施設別に絞り込む場合:施設ID

"targetType"が指定された場合、指定は必須です。
"target"と "targetType"の両方を指定しない場合、各パラメータは次のようになります。

  • target:ログインしているユーザのユーザーID
  • targetType: "user"
targetType 文字列 省略可

絞り込むタイプを指定します。

  • 出席者(ユーザー)を絞り込む場合:"user"
  • 出席者(組織)を絞り込む場合:"organization"
  • 施設を絞り込む場合:"facility"

"target"が指定された場合、指定は必須です。

keyword 文字列 省略可

予定検索のキーワードを指定します。
検索対象は以下の通りです。

  • Subject
  • Company information
  • Notes
  • Comments

"excludeFromSearch"が指定されている場合、指定は必須です。

excludeFromSearch 文字列 省略可

キーワード検索から除外する要素を指定します。
以下の値を設定することができます。

  • subject
  • company
  • notes
  • comments

カンマで区切って複数の値を指定できます。

リクエストの例

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オブジェクトをご確認ください。

制限事項

共通仕様の制限事項 をご確認ください。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
Yoshiyuki Kuwajima

「予定の取得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
    }
}~ $ 

 

Avatar
cybozu Development team

Kuwajima 様

(リリース前ですので先行環境でのお試し中と存じます。)

Garoon REST APIの共通仕様の「レスポンス」のセクションのとおり、ステータスコードが200と言いますと、成功している状況です。

まずは、クエリでの指定はせず、全件取得ができるかどうか試してみていただけますでしょうか。

全件取得ができた場合は、クエリに問題があるということができると思います。

なお、GaroonのREST APIはkintoneと異なりGETがボディで指定できません。その点もご留意いただければと思います。

もしまたご不明な点がありましたらご連絡ください。

Avatar
Yoshiyuki Kuwajima

ご返信ありがとうございます。

リクエストパラメータでクエリの指定はしておりません。「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月にリリース?)というのは認識しておりましたが、先行して確認できるサイトは別にあるのでしょうか?

お手数お掛けしますが引き続き宜しくお願いいたします。

Yoshiyuki Kuwajimaにより編集されました
Avatar
cybozu Development team

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

ご確認のほどよろしくお願いいたします。

Avatar
Yoshiyuki Kuwajima

情報のご提供ありがとうございます。5月13日以降に再度ご確認させて頂きます。

Avatar
Yoshiyuki Kuwajima

再び確認したところ、予定の一覧を取得出来るようになっておりました。ご支援頂きましてありがとうございました。

Avatar
大西 佑汰

APIをkintoneから叩いてみたところ、自分が参加している予定しか取得できませんでした。

「予定の閲覧権限のある」という記載がありますが、他のユーザーが全体に公開している、自分が参加していないスケジュールは取得できないのでしょうか?

Avatar
cybozu Development team

大西様

cybozu developer networkをご利用いただきありがとうございます。cybozu developer network運営事務局です。

ログインユーザーが参加していないスケジュールの取得ができないとのことですが、以下をお試しいただけますでしょうか?

  • ログインユーザーが参加していない予定の予定IDを指定して1件取得する
  • targetとtargetTypeでログインユーザー以外を指定して予定の一覧取得する

よろしくお願いいたします。

Avatar
大西 佑汰

ありがとうございます。

予定IDやtargetの指定により取得ができました。

ちなみに、複数名の複数予定をクエリを用いて取得したいときはどのように指定すればいいでしょうか?

 

また、なぜGaroonAPIでは共通管理のユーザーIDは異なるGaroonユーザーのID値を使用しているのでしょうか?

Garoonユーザー情報取得のREST APIが存在しないので動的にユーザー情報を用いた処理をするために別途SOAP APIを用いる必要があり、正直これでは実用が難しいです。

そもそも共通管理にIDが紐付けられているのに異なるIDが必要になる事自体、問題かと思います。

せめてcodeでの指定を可能にするなど、何らかの改善を願います。

 

ご検討のほどよろしくお願いいたします。

大西 佑汰により編集されました
Avatar
cybozu development team

大西様

>ちなみに、複数名の複数予定をクエリを用いて取得したいときはどのように指定すればいいでしょうか?
現状のAPIでは複数名指定はできません。今後の要望として検討いたします。

>また、なぜGaroonAPIでは共通管理のユーザーIDは異なるGaroonユーザーのID値を使用しているのでしょうか?
改善要望ありがとうございます。
たしかにおっしゃるとおり共通管理と異なるGaroon側でのユーザーIDを利用しています。

Garoon側でも今後ユーザー情報取得のREST APIを検討しております。

Avatar
Koichi Ozawa

居るはずのユーザーIDで、スケジュール一覧を取り出そうとすると、「targetで指定した対象が存在しません。」と返ってきて、混乱していたのですが、大西さんの書き込みで状況が理解できました。

同じくSOAPでGaroonIDを取り出すというのは実用的でないので、GaroonのユーザーID以外(共通管理のユーザーID、コードやemailなど)が、Garoon REST APIで使用できることを期待します。

ログインしてコメントを残してください。