予定の登録(1件)
1件の予定を登録できます。
- 通常予定、期間予定を登録できます。繰り返し予定、仮予定は登録できません。
HTTP メソッド
POST
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以降
必要なアクセス権
予定の追加権限
リクエストの例
リクエストヘッダ
POST /g/api/v1/schedule/events HTTP/1.1 Host: {subdomain}.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
- Content-Type に application/json を指定して下さい。 指定しない場合は JSON が解釈できないため、実行時エラーとなります。
リクエストボディ
※各フィールドの形式については スケジュールのeventオブジェクトをご確認ください。
パラメータ名 | 指定する値 | 必須 | 説明 |
---|---|---|---|
eventType | 文字列 |
必須 |
予定のタイプ 次のいずれかの値を指定します。
|
eventMenu | 文字列 | 省略可 |
予定メニュー 予定メニューのデフォルト設定値「-----」の値は空文字列とみなされます。詳細 |
subject | 文字列 | 省略可 | タイトル |
notes | 文字列 | 省略可 |
メモ 改行文字は「\n」です。 |
start | オブジェクト | 必須 |
開始日時とタイムゾーン |
start.dateTime |
文字列 |
必須 |
予定の開始日時 形式はRFC3339です。 |
start.timeZone |
文字列 |
必須 |
開始日時のタイムゾーン |
end | オブジェクト | 条件必須 |
終了日時とタイムゾーン 次にあてはまる場合、必須です。
|
end.dateTime | 文字列 | 条件必須 |
予定の終了日時 形式はRFC3339です。 |
end.timeZone | 文字列 | 条件必須 | 終了日時のタイムゾーン |
isAllDay | 真偽値 | 省略可 | 終日の予定かどうか |
isStartOnly | 真偽値 |
条件必須 |
開始のみの予定かどうか ※ 省略した場合のデフォルト値は false です。 |
attendees | 配列 | 条件必須 |
参加者のリスト ※ attendees(参加者)または facilities(施設)のいずれかが必須です。 |
attendees[].type | 文字列 | 条件必須 |
参加者のタイプ 次のいずれかの値を指定します。
※ attendees を指定する場合、必須です。 |
attendees[].id | 文字列 | 条件必須 | attendees[].type に指定する値により異なります。
※ attendees を指定する場合、id または code が必須です。 |
attendees[].code | 文字列 | 条件必須 | attendees[].type に指定する値により異なります。
※ attendees を指定する場合、id または code が必須です。 |
facilities | 配列 | 条件必須 |
施設のリスト ※ attendees(参加者)または facilities(施設)のいずれかが必須です。 |
facilities[].id | 文字列 | 条件必須 |
施設名ID ※ facilities を指定する場合、id または code が必須です。 |
facilities[].code | 文字列 | 条件必須 |
施設の候補リストの施設コード ※ facilities を指定する場合、id または code が必須です。 |
facilityUsingPurpose | 文字列 | 条件必須 |
施設の利用目的 ※「施設の利用申請」を有効にした場合、必須です。 |
companyInfo | オブジェクト | 省略可 | 会社情報 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.name | 文字列 | 省略可 | 会社名 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.zipCode | 文字列 | 省略可 | 郵便番号 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.address | 文字列 | 省略可 | 住所 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.route | 文字列 | 省略可 | 路線の経路 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.routeTime | 文字列 | 省略可 | 路線の所要時間 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
companyInfo.routeFare | 文字列 | 省略可 |
路線の運賃 |
companyInfo.phone | 文字列 | 省略可 | 電話番号 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
attachments | 配列 | 省略可 |
添付ファイルのリスト システム設定で「ファイルの添付」の許可が必要です。 |
attachments[].name | 文字列 | 省略可 | 添付ファイルのファイル名 |
attachments[].content | 文字列 | 省略可 |
添付ファイルの内容 base64エンコードが必要です。 |
visibilityType | 文字列 | 省略可 |
公開設定のタイプ 次のいずれかの値を指定します。
※ パッケージ版 Garoon バージョン 5.0.0〜5.5.1で指定可能 |
useAttendanceCheck | 真偽値 | 省略可 |
出欠確認を使用しているかどうか システム設定で「出欠確認の使用」の許可が必要です。 ※ パッケージ版 Garoon バージョン 5.0.0以降で指定可能 |
watchers | 配列 | 条件必須 |
公開先のリスト ※ visibilityType が SET_PRIVATE_WATCHERSの場合、必須です。 |
watchers[].type | 文字列 | 条件必須 |
公開先のタイプ 次のいずれかの値を指定します。
※ watches を指定する場合、必須です。 |
watchers[].id | 文字列 | 条件必須 |
watchers[].type に指定した値により異なります。
※ watches を指定する場合、id または code が必須です。 |
watchers[].code | 文字列 | 条件必須 |
watchers[].type に指定した値により異なります。
※ watches を指定する場合、id または code が必須です。 |
additionalItems | オブジェクト | 省略可 | 予定のAPI用連携項目 |
additionalItems.item.value | 文字列 | 省略可 | 予定のAPI用連携項目の値 |
レスポンスの例
処理が成功すると、予定の内容がJSON形式で返されます。 ※各フィールドの形式については スケジュールのeventオブジェクトをご確認ください。
JavaScript サンプル
XMLHttpRequest
制限事項
- APIを使ってアップロードできるファイルサイズは、BASE64 エンコード後で 300MB までです。
その他の制限事項は、共通仕様の制限事項 をご確認ください。
クラウド版にて、非公開のスケジュールエントリーを、別システムからインポートする為に、
HTMLポートレット上に作成したJavaScriptから、REST APIでスケジュール
のPOSTを行おうとしています。
すでにGaroonにログインした状態からの実行になりますので、
RequestHeaderにX-Requested-With:XMLHttpRequestを設定し、セッション認証で実行しようとしているのですが
「HTTP Status:520 Error:FW00043 ページを表示できません。不正なリクエストが行われた可能性があります。」
となり、登録を行うことができません。
代わりにパスワード認証でPOSTすると正常に登録が行われます。
また、GETについてはセッション認証で正常に取得できることも確認しています。
下記の様なJavaScriptプログラムでPOSTの処理を行っていますが、どこか問題はありますでしょうか?
//"開始日","開始時刻","終了日","終了時刻","予定","予定詳細","メモ"
var eventInfo = {
"eventType":"REGULAR",
"eventMenu":ary[4], //打合わせとか
"subject":ary[5], //件名
"notes":ary[6], //メモ
"visibilityType":"PRIVATE", //公開,非公開,メンバー指定
"start":{
"dateTime": "2018-10-16T00:00:00+09:00",
"timeZone":"Asia/Tokyo"
},
"end":{
"dateTime": "2018-10-16T23:59:59+09:00",
"timeZone":"Asia/Tokyo"
},
"isAllDay": true,
"isStartOnly": false,
"attendees":[{
"code":"xxxxx",
"type":"USER"
}]
};
//
var uri = location.protocol + "//" + location.hostname;
uri += "/g/api/v1/schedule/events"
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
switch(xhr.readyState){
case 0: //UNSENT
case 1: //OPEND
case 2: //HEADERS_RECIEVED
case 3: //LOADING
break;
case 4: //DONE
if( xhr.status ){
console.log( xhr.responsesText );
resolve(cno+1);
}else{
console.log( xhr.responsesText );
reject(xhr.responsesText);
}
}
}
xhr.open("POST",uri);
//xhr.setRequestHeader("Host",location.hostname+":443");
//xhr.setRequestHeader("X-Cybozu-Authorization",window.btoa("xxxxx:xxxxx"));
xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
xhr.setRequestHeader("Content-Type","application/json");
xhr.send( JSON.stringify(eventInfo) );
SHIMADA様
REST APIのPOST、PATCH、DELETEでは、セッション認証の場合は、RequestTokenが必要ですが、それがなさそうです。
RequestTokenについては以下の記事をご確認ください。
https://developer.cybozu.io/hc/ja/articles/360001197206
記事の記述がわかりにくく、お手数をおかけしました。
今後は、目に止まりやすい場所に記述するように改善いたします。
cybozu Development team 様
早々のご回答ありがとうございました。
早速、再試行したところ、正常に動作することを確認できました。
SOAP APIを使った時には共通仕様の項目に記載があり、使った記憶があるのですが、REST APIには記載がなかったので忘れていました。