予定を更新する

目次

予定を更新する

予定IDを指定して、予定の内容を更新します。
繰り返し予定の場合、元の予定を更新します。

URL

クラウド版

https://sample.cybozu.com/g/api/v1/schedule/events/SCHEDULE_ID

パッケージ版

環境に合わせてそれぞれ以下を置き換えてください。

  • IP_ADDRESS_OR_HOST_NAME:Garoonのインストール先のIPアドレスまたはホスト名
  • INSTALL_IDENTIFER:Garoonのインストール識別子
Windows環境
http://IP_ADDRESS_OR_HOST_NAME/scripts/INSTALL_IDENTIFER/grn.exe/api/v1/schedule/events/SCHEDULE_ID
Linux環境
http://IP_ADDRESS_OR_HOST_NAME/cgi-bin/INSTALL_IDENTIFER/grn.cgi/api/v1/schedule/events/SCHEDULE_ID
パスパラメーター
パラメーター名 説明
SCHEDULE_ID 更新する予定の予定 ID

HTTP メソッド

PATCH

利用できるバージョン

  • クラウド版Garoon
  • パッケージ版Garoon 4.10以降

必要なアクセス権

  • 予定の変更権限

リクエスト

パラメーター
パラメーター名 必須 説明
eventMenu 文字列 省略可 予定メニュー
省略すると、予定メニューのデフォルト設定値である「-----」が設定されます。
subject 文字列 省略可 タイトル
notes 文字列 省略可 メモ
改行文字は「\n」です。
start オブジェクト 必須 開始日時とタイムゾーン
start.dateTime 文字列 必須 予定の開始日時
RFC 3339 形式で指定してください。
start.timeZone 文字列 必須 開始日時のタイムゾーン
end オブジェクト 条件必須 終了日時とタイムゾーン
次のいずれかに当てはまる場合は必須です。
  • isStartOnlyが 「false」または指定されていない
  • facilitiesが指定されている
  • eventTypeに「ALL_DAY」が指定されている
end.dateTime 文字列 条件必須 予定の終了日時
RFC 3339 形式で指定してください。
end.timeZone 文字列 条件必須 終了日時のタイムゾーン
isAllDay 真偽値 省略可 終日の予定かどうか
isStartOnly 真偽値 条件必須 開始のみの予定かどうか
省略すると「false」が設定されます。
endを省略する場合には、必ず「true」を指定してください。
attendees 配列 条件必須 参加者の一覧
attendeesまたはfacilitiesが必須です。
参加者を更新するときは、すべての参加者を指定してください。
空配列を指定すると、参加者がすべて削除されます。
attendees[].type 文字列 条件必須 参加者のタイプ
次のいずれかの値を指定します。
  • ORGANIZATION
  • USER
attendeesを指定する場合は必須です。
attendees[].id 文字列 条件必須 組織またはユーザー情報の ID
attendees[].typeに指定する値ごとに異なります。
  • 「ORGANIZATION」 の場合:組織 ID
  • 「USER」 の場合:Garoon ユーザー ID
attendeesを指定する場合、attendees[].idまたはattendees[].codeが必須です。
attendees[].code 文字列 条件必須 組織またはユーザー情報のコード
attendees[].typeに指定する値ごとに異なります。
  • 「ORGANIZATION」 の場合:組織コード
  • 「USER」 の場合:Garoon ユーザー名(ログイン名)
    パッケージ版 Garoon の場合、ログイン名を公開する設定が必要です。
    詳細は ユーザー情報の項目を変更する (External link) を参照してください。
attendees[].idまたはattendees[].codeが必須です。
どちらも指定すると、attendees[].idの値が設定されます。
facilities 配列 条件必須 施設の一覧
attendeesまたはfacilitiesが必須です。
施設を更新するときは、すべての施設を指定してください。
空配列を指定すると、施設がすべて削除されます。
facilities[].id 文字列 条件必須 施設 ID
facilitiesを指定する場合、facilities[].idまたはfacilities[].codeが必須です。
facilities[].code 文字列 条件必須 施設コード
facilitiesを指定する場合、facilities[].idまたはfacilities[].codeが必須です。
両方を指定すると、facilities[].idの値が設定されます。
facilityUsingPurpose 文字列 条件必須 施設の利用目的
「施設の利用申請」を有効にした場合は必須です。
companyInfo オブジェクト 省略可 会社情報 *1
companyInfo.name 文字列 省略可 会社名 *1
companyInfo.zipCode 文字列 省略可 郵便番号 *1
companyInfo.address 文字列 省略可 住所 *1
companyInfo.route 文字列 省略可 路線の経路 *1
companyInfo.routeTime 文字列 省略可 路線の所要時間 *1
companyInfo.routeFare 文字列 省略可 路線の運賃 *1
companyInfo.phone 文字列 省略可 電話番号 *1
visibilityType 文字列 省略可 公開設定のタイプ
次のいずれかの値を指定します。
  • PUBLIC:公開
  • PRIVATE:非公開
  • SET_PRIVATE_WATCHERS:共有先を設定する *2
useAttendanceCheck 真偽値 省略可 出欠確認を使用するかどうか *1
出欠確認を使用するには、「出欠確認の使用を許可する」を有効にしてください( クラウド版 (External link) パッケージ版 (External link) )。
watchers 配列 条件必須 共有先のリスト *1
visibilityTypeSET_PRIVATE_WATCHERSの場合は必須です。
watchers[].type 文字列 条件必須 共有先のタイプ *1
次のいずれかの値を指定します。
  • ORGANIZATION:組織
  • USER:ユーザー
  • ROLE:ロール
watchersを指定する場合は必須です。
watchers[].id 文字列 条件必須 組織、ユーザーまたはロール情報の ID *1
watchers[].typeに指定する値ごとに異なります。
  • 「ORGANIZATION」 の場合:組織 ID
  • 「USER」 の場合:Garoon ユーザー ID
  • 「ROLE」の場合:ロール ID
watchers を指定する場合、id または code が必須です。
watchers[].code 文字列 条件必須 組織、ユーザーまたはロール情報のコード *1
watchers[].typeに指定する値ごとに異なります。
  • 「ORGANIZATION」 の場合:組織コード
  • 「USER」 の場合:Garoon ユーザー名(ログイン名)
    パッケージ版 Garoon の場合、ログイン名を公開する設定が必要です。
    詳細は ユーザー情報の項目を変更する (External link) を参照してください。
  • 「ROLE」の場合:ロール名
watchersを指定する場合、watchers[].idまたはwatchers[].codeが必須です。
両方を指定すると、watchers[].idの値が設定されます。
additionalItems オブジェクト 省略可 予定の API 用連携項目 *3
additionalItems.item.value 文字列 省略可 予定の API 用連携項目の値 *3

*1 クラウド版とパッケージ版Garoon 5.0以降で指定できます。 ^

*2 パッケージ版Garoon 5.0〜5.5.1でのみ指定できます。 ^

*3 パッケージ版Garoon 6.0より前のバージョンでのみ指定できます。
予定に関する付加情報を保存する場合は、カスタマイズ項目(Schedule Datastore)を利用してください。
詳細は、 カスタム項目(additionalItems)の廃止についてを参照してください。 ^

リクエストの例
URL

https://sample.cybozu.com/g/api/v1/schedule/events/1

ヘッダー
1
2
3
4
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU=",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は Garoon REST APIの共通仕様を確認してください。

ボディ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{
  "eventMenu": "conference",
  "subject": "Weekly conference",
  "notes": "This is notes.\nYou can write multiple lines.",
  "visibilityType": "PUBLIC",
  "useAttendanceCheck": true,
  "companyInfo": {
    "address": "2-7-1, Nihombashi, Chuo-ku, Tokyo",
    "name": "Cybozu, Inc.",
    "phone": "03-4306-xxxx",
    "route": "Nihombashi Sta. - Ginza Line - Shibuya Sta.",
    "routeFare": "195",
    "routeTime": "18",
    "zipCode": "103-xxxx"
  },
  "start": {
    "dateTime": "2017-09-27T14:00:00+09:00",
    "timeZone": "Asia/Tokyo"
  },
  "end": {
    "dateTime": "2017-09-27T14:00:00+09:00",
    "timeZone": "Asia/Tokyo"
  },
  "isAllDay": "false",
  "isStartOnly": "false",
  "attendees": [
    {
      "type": "USER",
      "code": "c000001"
    }
  ],
  "watchers": [
    {
      "type": "USER",
      "code": "c000001"
    }
  ],
  "facilities": [
    {
      "code": "F001"
    }
  ],
  "facilityUsingPurpose": "Because of the explanation of a new plan.",
  "additionalItems": { // パッケージ版 Garoon 6.0 より前のバージョンでのみ利用できます
    "item": {
      "value": "string"
    }
  }
}

レスポンス

処理が成功すると、予定の内容がJSON形式で返ります。
形式の詳細は スケジュールオブジェクトを確認してください。

レスポンスの例
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{
  "id": "123",
  "creator": {
    "id": "1",
    "code": "c000001",
    "name": "Noboru Satoh(Satoh Noboru); Sales Department"
  },
  "createdAt": "2017-09-26T06:25:18Z",
  "updater": {
    "id": "1",
    "code": "c000001",
    "name": "Noboru Satoh(Satoh Noboru); Sales Department"
  },
  "updatedAt": "2017-09-26T06:25:18Z",
  "eventType": "REGULAR",
  "eventMenu": "conference",
  "subject": "Weekly conference",
  "notes": "This is notes.\nYou can write multiple lines.",
  "visibilityType": "PUBLIC",
  "useAttendanceCheck": true,
  "companyInfo": {
    "name": "Cybozu, Inc.",
    "zipCode": "103-xxxx",
    "address": "2-7-1, Nihombashi, Chuo-ku, Tokyo",
    "route": "Nihombashi Sta. - Ginza Line - Shibuya Sta.",
    "routeTime": "18",
    "routeFare": "195",
    "phone": "03-4306-xxxx"
  },
  "attachments": [
    {
      "id": "1",
      "name": "figure.png",
      "contentType": "image/png",
      "size": "64251"
    }
  ],
  "start": {
    "dateTime": "2017-09-27T14:00:00+09:00",
    "timeZone": "Asia/Tokyo"
  },
  "end": {
    "dateTime": "2017-09-27T14:00:00+09:00",
    "timeZone": "Asia/Tokyo"
  },
  "isAllDay": "false",
  "isStartOnly": "false",
  "originalStartTimeZone": "Asia/Tokyo",
  "originalEndTimeZone": "Asia/Tokyo",
  "attendees": [
    {
      "id": "1",
      "code": "c000001",
      "name": "Noboru Satoh(Satoh Noboru); Sales Department",
      "type": "USER",
      "attendanceResponse": {
        "status": "PENDING",
        "comment": "I am going to attend the meeting."
      }
    }
  ],
  "watchers": [
    {
      "id": "1",
      "code": "c000001",
      "name": "Noboru Satoh(Satoh Noboru); Sales Department",
      "type": "USER"
    }
  ],
  "facilities": [
    {
      "id": "1",
      "name": "28F conference room",
      "code": "F001"
    }
  ],
  "facilityUsingPurpose": "Because of the explanation of a new plan.",
  "facilityReservationInfo": {
    "additionalProp1": {
      "type": "SINGLE_LINE_TEXT",
      "value": "Custom field value"
    },
    "additionalProp2": {
      "type": "SINGLE_LINE_TEXT",
      "value": "Custom field value"
    },
    "additionalProp3": {
      "type": "SINGLE_LINE_TEXT",
      "value": "Custom field value"
    }
  },
  "facilityUsageRequests": [
    {
      "status": "APPROVED",
      "facility": {
        "id": "1",
        "name": "28F conference room",
        "code": "F001"
      },
      "approvedBy": {
        "id": "1",
        "code": "c000001",
        "name": "Noboru Satoh(Satoh Noboru); Sales Department"
      },
      "approvedDateTime": "2017-09-26T06:25:18Z"
    }
  ],
  "repeatInfo": {
    "type": "EVERY_DAY",
    "period": {
      "start": "2017-04-01",
      "end": "2018-03-31"
    },
    "time": {
      "start": "09:00",
      "end": "18:00"
    },
    "isAllDay": false,
    "isStartOnly": false,
    "timeZone": "Asia/Tokyo",
    "dayOfWeek": "MON",
    "dayOfMonth": "EOM",
    "exclusiveDateTimes": [
      {
        "start": "2017-12-28T00:00:00+09:00",
        "end": "2017-12-29T00:00:00+09:00"
      }
    ]
  },
  "temporaryEventCandidates": [
    {
      "end": {
        "dateTime": "2017-06-06T09:00:00+09:00",
        "timeZone": "Asia/Tokyo"
      },
      "start": {
        "dateTime": "2017-06-06T10:00:00+09:00",
        "timeZone": "Asia/Tokyo"
      },
      "facility": {
        "id": "1",
        "code": "room-a",
        "name": "ROOM-A"
      }
    }
  ],
  "additionalItems": {
    "item": {
      "value": "string"
    }
  }
}

サンプルコード

curl を使ったリクエスト
1
2
3
4
5
6
7
curl -X PATCH 'https://sample.cybozu.com/g/api/v1/schedule/events/1' \
  -H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=' \
  -H 'Content-Type: application/json' \
  -d '{
    "eventMenu": "来訪",
    "subject": "予定タイトル"
  }'
Garoon REST API リクエストを送信する APIを使ったリクエスト
1
2
3
4
5
6
const body = {
  eventMenu: '打合',
  subject: '予定タイトル',
};

await garoon.api('api/v1/schedule/events/29', 'PATCH', body);

制限事項

  • 仮予定は更新できません。
  • 予定に添付されたファイルは更新できません。