SlideShare a Scribd company logo
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com
HCL Domino - Domino REST API 利用ガイド
Domino Access Service 利用ガイド
2020年 11月30日
株式会社エイチシーエル・ジャパン
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 2
当資料について
当資料の記載内容は、正式なHCL のテストやレビューを受けておりません。内容について、できる限り正
確を期すよう努めてはおりますが、いかなる明示または暗黙の保証も責任も負いかねます。本資料の情報
は、使用先の責任において使用されるべきものであること を、あらかじめご了承ください。
当資料は、資料作成時点で公開されている情報を元に作成しています。掲載情報は不定期 に変更されるこ
ともあります。他のメディア等に無断で転載する事はご遠慮ください。
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 3
目次
1. Domino Access Services 概 要
2. Domino Access Services の構成
3. Domino Access Services の利用方法
参考情報
1. Domino Access services概要
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 5
REST API とは
REST とは
 Representation State Transfer の略
 Roy Thomas Fielding が提唱したソフトウェア・アーキテクチャー
REST API とは
 REST に則った Web サービス API
 大まかに以下の特徴を持ちます
 アドレス指定可能なURI でリソースにアクセスできる
 HTTP メソッドでアクセスする
 ステートレスである(セッションを保持しない)
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 6
Domino Access Services とは
Domino Access Services(DAS)
 HCL Domino サーバー上のデータベースに対して REST API でのアクセスを提供する機能
 以下の3つのサービスがある
 Domino Data Service
 JSON 形式でのデータベースへのアクセスを提供するサービス
 Domino Calendar Service
 JSON 形式と iCalendar 形式でのカレンダーデータへのアクセスを提供するサービス
 Domino Core Service
 Dominoサーバーでどの DAS サービスを提供しているか、パスワードの最終更新日などのデータベースに依
存しない情報を提供するサービス
 9.0.1以降の Domino で利用可能
(Domino Data Service のみは Domino 8.5.3 Upgrade kit 1 以降で利用可能)
 HTTPタスクを実行する必要がある
2. Domino Access Servicesの構成
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 8
サーバーの設定
 Domino Access ServicesはDominoサーバー文書で有効にします
 サーバー文書の[ インターネットプロトコル] - [ Domino Web Engine ] タブ(インターネットサイト文
書の場合は [ 設定 ]タブ)の一番下に「Dominoアクセスサービス」という項目があります
 「有効なサービス」に Domino Data Service を有効にする場合は「データ」、DominoCalendar
Service を有効にする場合は「カレンダー」、両方の場合は「データ、カレンダー」と入力します
 設定変更後に HTTP タスクを再起動します
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 9
データベースの設定
 実際にデータベースにアクセスするためには、各データベースに設定が必要です
 Notes クライアントでデータベースプロパティを開きます
 [ 詳細 ] タブ(一番右のタブ)の「Domino データサービスを許可」をビューと文書にアクセスしたい場合は
「ビューと文書」、ビューのみにアクセスする場合は「ビュー」に 変更します
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 10
ビュー の設定
 ビューにアクセスするためには、各ビューに設定が必要です
 Domino Designer で Domino Data Service でアクセスしたいビューを開きます
 ビューのプロパティを開き、[ 詳細 ] タブの「Domino データサービスの操作を許可」にチェックして
ビューを保存します
 複数のビューを利用したい場合は、それぞれのビューで同様の操作を行います
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 11
Domino Calendar Service の設定
 Domino Calendar Service を利用するためには、各メールデータベースに設定が必要です
 Domino Designer でメールデータベースのビュー「($CSAPIs)」を開きます。
 ビューのプロパティを開き、[ 詳細 ] タブの「Domino データサービスの操作を許可」に
 チェックしてビューを保存します(前頁と手順は同じです)
 データベースプロパティ「IBMDomino データサービスを許可」の設定は不要です
 多数のユーザーのメールデータベースで有効にする場合はメールテンプレートのビューの設計を変更
することをお勧めします
 Mail85.ntfにはビュー「($CSAPIs)」がないため、Domino 9.0.1 以降のサーバーで mail85.ntfを利用
している場合は、mail9.ntf など 9.0.1 以降のメールテンプレートからビューをコピーする必要があり
ます
3. Domino Access Services の
使用方法
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 13
Domino Access Services の利用
 この章ではDomino AccessServices のDomino Data Service と Domino Calendar Service で可能な代
表的な操作について説明します
 利用可能なすべての操作やパラメーターなどについてはIBM Domino Access Services 9.0.1 のドキュ
メントを参照してください
https://ds-
infolib.hcltechsw.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1&a
ction=openDocument&content=catcontent&ct=api
 当資料ではテストツールとして cURL を利用した入出力サンプルを抜粋して掲載します
 Get メソッドは Web ブラウザからリクエストを発行できますが、通常は他のメソッドは Web ブラウ
ザではリクエストを発行できないため、REST API のリクエストを発行するためには何らかのツール
が必要です
 具体的なツールはご紹介しませんが REST API のリクエストを発行できるGUI ベースのツ ールもあ
ります
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 14
Domino Data Service の利用
 Domino Data Service で利用可能な代表的な操作は以下のとおりです
 データベースコレクションに対する操作
 サーバー上のデータベース一覧を取得する
 ビュー/フォルダーコレクションに対する操作
 データベースのビュー/フォルダー一覧を取得する
 ビュー/フォルダーエントリに対する操作
 ビュー/フォルダーのエントリを取得する
 文書コレクションに対する操作
 文書コレクションを取得する
 文書を作成する
 文書に対する操作
 文書を取得する
 文書を更新する
 文書を削除する
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 15
Domino Data Service の利用
簡単な出力の読み方
 Domino Data Service の出力結果には多くの場合以下のような情報が含まれます
 @Title
 データベースやビュー/フォルダーなどの名前
 日本語は UTF-8 でエンコードされます
 @UNID
 ビュー/フォルダーや文書などの UNID
 @href
 データベースやビュー/フォルダーや文書などにDAS でアクセスするための URL
 「/」は「¥」でエスケープされます
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 16
Domino Data Service の利用
サーバー上にあるデータベースを一覧する
 サーバー上にあるすべてのデータベースが JSON 形式で出力されます
 データベースプロパティの「Dominoアクセスサービスを許可」の設定によらずすべて のデータベースが結果に含まれます
 データベースへのアクセス権は不要ですがユーザー認証が必要です
 メソッド
get /api/data
例:
>curl -u ユーザー名:パスワード http://ホスト名/api/data
出力例:
[
{
"@title":"¥u30B7¥u30B9¥u30C6¥u30E0¥u7BA1¥u7406¥u8981¥u6C42",
"@filepath":"admin4.nsf",
"@replicaid":"492580A6031DA54D",
“@template":"StdR4AdminRequests",
"@href":"¥/admin4.nsf¥/api¥/data¥/collections"
},
~ 省 略 ~
]
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 17
Domino Data Service の利用
データベースのビュー/フォルダーを一覧する
 データベースに存在するビュー/フォルダーの一覧が JSON 形式で出力されます
 「Domino データサービスの操作を許可」を有効にしていないビュー/フォルダー も表示されます
 データベースへの適切なアクセス権が必要です
 メソッド
get /ファイル名/api/data/collections
例:
>curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/collections
出力例:
[
{
"@title":"¥u4F5C¥u6210¥u8005¥u5225",
"@folder":false,
"@private":false,
"@modified":"2020-02-14T02:32:18Z",
"@unid":"B86F19F9A1EED6794825751200200698",
"@href":"¥/test1.nsf¥/api¥/data¥/collections¥/unid¥/B86F19F9A1EED6794825751200200698"
},
~ 省 略 ~
]
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 18
Domino Data Service の利用
ビュー/フォルダーのエントリを取得する(1/2)
 指定したビュー/フォルダーのエントリを JSON 形式で出力します
 検索パラメーターを指定しない場合は最初の10エントリが出力されます
 検索パラメーターの詳細についてはドキュメントの「View/folder entries GET」の項を 参照してくださ
い
https://ds_infolib.hcltechsw.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Servic
es+9.0.1#action=openDocument&res_title=Viewfolder_entries_GET_dds10&content=apicontent
 「search」キーワードを利用した検索を行うためにはデータベースに全文索引が作成されている必要が
あります
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 19
Domino Data Service の利用
ビュー/フォルダーのエントリを取得する(2/2)
 メソッド
 get /api/data/collections/unid/ビューの UNID
 get /api/data/collections/name/ビュー名
 検索パラメーターを指定する場合は get /api/data/collections/unid/ビューのUNID?start=1&count=3 のように「?」を付与します
例:
>curl -u ユーザー名:パスワード http://ホスト名/api/data/collections/name/($All)
出力例:
[
{
"@href":"¥/test1.nsf¥/api¥/data¥/collections¥/name¥/($All)¥/unid¥/4C53DC3FB8FA9CED492581FB002576F3",
"@link":
{
"rel":"document",
"href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/4C53DC3FB8FA9CED492581FB002576F3"
},
"@entryid":"1-4C53DC3FB8FA9CED492581FB002576F3",
"@unid":"4C53DC3FB8FA9CED492581FB002576F3",
~ 省 略 ~
]
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 20
Domino Data Service の利用
文書コレクションを取得する
 データベースに存在する文書のコレクションが JSON 形式で出力されます
 検索パラメーターを指定しない場合データベースのすべての文書が出力されます
 検索パラメーターは全文検索を行う「search」か更新日時を指定する「since」のどちら かが使用できます
 メソッド
get /ファイル名/api/data/documents
例:
>curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/documents
出力例:
[
{
"@modified":"2017-10-11T05:36:07Z",
"@unid":"AD17CEEF1909941C492580C7000DF37D",
"@href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/AD17CEEF1909941C492580C7000DF37D"
},
~ 省 略 ~
]
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 21
Domino Data Service の利用
文書を作成する
 データベースに新規文書を作成します
 新規文書のフィールド値は JSON 形式で指定します
 「form=」パラメーターで文書が使用するフォームを指定できます
 「computewithform=true」を指定することでフォームに基づいて計算を行うことができます
 出力結果は HTTP ヘッダー「Location」の値として作成した新規文書にアクセスするため の URL が返ります
 メソッド
post /ファイル名/api/data/documents
例:
>curl -i -H “Content-type: application/json” -X POST -d “{¥”Subject¥“:¥”fromDDA¥“,¥”Body¥“:¥”Test¥“}” -u ユーザー名:パスワード http://
ホスト名/ファイル名/api/data/documents
出力例:
HTTP/1.1 201 Created
Server: Lotus-Domino
Date: Mon, 15 Jan 2018 08:07:02 GMT
Connection: close
Set-Cookie: SessionID=87AB55482C49F3DEB545866D68204E8728F96AAD; path=/; HttpOnly
Location: http://ホスト名/ファイル名/api/data/documents/unid/2EE6FAA0EBAA779149258216002C9639
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 22
Domino Data Service の利用
文書を取得する
 UNID で指定した文書をJSON 形式で出力します
 メソッド
get /ファイル名/api/data/documents/unid/文書のUNID
例:
>curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/documents/unid/34D1A45AB6AF2DBA4925820100215170
出力例:
{
"@href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/34D1A45AB6AF2DBA4925820100215170",
"@unid":"34D1A45AB6AF2DBA4925820100215170",
"@noteid":"91E",
"@created":"2017-12-25T06:03:55Z",
"@modified":"2017-12-25T06:03:55Z",
~ 省 略 ~
"ThreadId":"THAN-AUD95H",
"MainID":"34D1A45AB6AF2DBA4925820100215170",
"AbrFrom":"Admin",
"NewsLetterSubject":"fromDDA",
"Abstract":"Test",
"Subject":"fromDDA"
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 23
Domino Data Service の利用
文書を更新する
 UNID で指定した文書を更新します
 更新するフィールドの値は JSON 形式で指定します
 PATCH メソッドでは JSON で指定したフィールドのみが変更され、指定しなかったフ ィールドの値は変更されません
 PUT メソッドでは JSON データですべてのフィールドが置き換えられます
 「form=」パラメーターで文書が使用するフォームを指定できます
 「computewithform=true」を指定することでフォームに基づいて計算を行うことができます
 メソッド
patch /ファイル名/api/data/documents/unid/文書のUNID
put /ファイル名/api/data/documents/unid/文書のUNID
例:
>curl -i -H “Content-type: application/json” -X PATCH -d “{¥”Subject¥“:¥”fromDDA2¥“,¥”Body¥“:¥”Test2¥“}” -u ユーザー名:パスワード http://ホスト名/ファイル名
/api/data/documentsunid/2EE6FAA0EBAA779149258216002C9639
出力例:
HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Mon, 15 Jan 2018 08:43:16 GMT
Connection: close
Set-Cookie: SessionID=4CA5F917FC734282174ECBD8B3641334ABB5E1E2; path=/; HttpOnly
Content-Type: application/json
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 24
Domino Data Service の利用
文書を削除する
 UNID で指定した文書を削除します
 メソッド
delete /ファイル名/api/data/documents/unid/文書のUNID
例:
>curl -i -H “Content-type: application/json” -X DELETE -u ユーザー名:パスワード http://ホスト名/ファイル名
/api/data/documentsunid/2EE6FAA0EBAA779149258216002C9639
出力例:
HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Mon, 15 Jan 2018 08:48:27 GMT
Connection: close
Set-Cookie: SessionID=C835204565533E3B7354D5A4BF4D9BDDA5BEE5F0; path=/; HttpOnly
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 25
Domino Data Service の利用
 Domino Calendar Service で利用可能な代表的な操作は以下のとおりです
 Calendar に対する操作
 ユーザーのカレンダーを取得する
 Calendar Event の一覧に対する操作
 カレンダーイベントの一覧を取得する
 カレンダーイベントを追加する
 個別のカレンダーイベントに対する操作
 カレンダーイベントを取得する
 カレンダーイベントを更新する
 カレンダーイベントを削除する
 会議召集に対する操作
 新しい会議召集を取得する
 カレンダー通知に対する操作
 カレンダー通知を取得する
 イベントに対する操作
 イベントに返答する
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 26
Domino Calendar Service の利用
ユーザーのカレンダーを取得する(1/2)
 認証ユーザーのカレンダーがJSON 形式で出力されます
 ユーザーのメール DB が返ります
 出力結果には以下のような形式でそのユーザーのカレンダーイベントと会議召集にアクセスするための
URL を含みます
"links": [
{
"rel":"events",
“href”:“¥/mail¥/メールファイル名¥/api¥/calendar¥/events"
},
{
"rel":"invitations",
“href”:“¥/mail¥/メールファイル名¥/api¥/calendar¥/invitations"
}
]
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 27
Domino Calendar Service の利用
ユーザーのカレンダーを取得する(2/2)
 メソッド
get /api/calendar
例:
>curl –u ユーザー名:パスワード http://ホスト名/api/calendar
出力例:
{
"calendars":[
{
"owner":{
"displayName":"Admin",
~省略~
},
"links": [
{
"rel":"events",
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events"
},
{
"rel":"invitations", "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/invitations"
}
]
}
]
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 28
Domino Calendar Service の利用
カレンダーイベントの一覧を取得する(1/2)
 ユーザーのカレンダーイベントの一覧が JSON 形式か iCalendar 形式で出力されます
 iCalendar 形式で出力する場合はURL に「?format=icalendar」を付加します
 デフォルトではリクエストを発行した時間から1年後までのカレンダーイベントを最大50 個返します
 詳細な検索パラメーターについては以下のドキュメントを参照してください
https://www-
10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.
1#action=openDocument&res_title=Calendar_events_GET&content=apicontent
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 29
Domino Calendar Service の利用
カレンダーイベントの一覧を取得する(2/2)
 メソッド
get メールファイル名/api/calendar/events
例:
>curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar
出力例:
{
"events": [
{
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/07569716C2C339B349258201002F3B48-Lotus_Notes_Generated",
"id":"07569716C2C339B349258201002F3B48-Lotus_Notes_Generated",
"summary":"Meeting1",
"location":"¥u4F1A¥u8B70¥u5BA4",
"start": {
"date":"2017-12-26",
"time":"08:45:00",
"utc":true
},
~省略~
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 30
Domino Calendar Service の利用
カレンダーイベントを追加する(1/3)
 ユーザーのカレンダーに新しくカレンダーイベントを追加します
 イベントデータは JSON 形式か iCalendar 形式で送信します
 JSON 形式でデータを送信する場合は「Content-Type」ヘッダーに「application/json」を指定しま
す
 iCalendar 形式でデータを送信する場合は「Content-Type」ヘッダーに「text/calendar」を指定しま
す
 出力として追加されたカレンダーイベントの情報が返ります
 HTTP ヘッダーの「Location」の値として追加したイベントにアクセスするためのURL が返ります
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 31
Domino Calendar Service の利用
カレンダーイベントを追加する(2/3)
 メソッド
post メールファイル名/api/calendar/events
例:
>curl -i -X POST -u ユーザー名:パスワード -H “Content-type: application/json” -d @calendar.txt http:/ホスト名/メールファイル/api/calendar/events
出力例:
HTTP/1.1 201 Created
Server: Lotus-Domino
Date: Tue, 16 Jan 2018 04:53:23 GMT
~省略~
Content-Type: application/json
Location: http://thanatos:80/mail/admin.nsf/api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated
Content-Length: 701
{
"events": [
{
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated",
"id":"040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated",
~省略~
]
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 32
Domino Calendar Service の利用
カレンダーイベントを追加する(3/3)
 ユーザーのカレンダーに新しくカレンダーイベントを追加します
 JSON 形式
JSON representation of an event
https://www-
10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=op
enDocument&res_title=JSON_representation_of_an_event_das901&content=apicontentiCalendar
 iCalendar 形式
iCalendar representation of an event
https://www-
10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=op
enDocument&res_title=iCalendar_representation_of_an_event_das901&content=apicontent
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 33
Domino Calendar Service の利用
カレンダーイベントを取得する(1/2)
 指定した個別のカレンダーイベントがJSON 形式か iCalendar 形式で出力されます
 iCalendar 形式で出力する場合はURLに「?format=icalendar」を付加します
 イベントはイベントの一覧を取得した際などに“id” として出力される
“07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ という形式で指定します
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 34
Domino Calendar Service の利用
カレンダーイベントを取得する(2/2)
 メソッド
get メールファイル名/api/calendar/events/イベントのID
例:
>curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/events/07569716C2C339B349258201002F3B48- Lotus_Notes_Generated
出力例:
{
"timezones": [
{
"tzid":"Tokyo Standard Time",
"standard": {
"start": {
"date":"1950-01-01",
"time":"02:00:00"
},
"offsetFrom":"+0900",
"offsetTo":"+0900"
}
}
],
"events": [
{
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/354E3FBE73968E3D49258202001B37B5-Lotus_Notes_Generated",
~省略~
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 35
Domino Calendar Service の利用
カレンダーイベントを更新する(1/2)
 指定した個別のカレンダーイベントを更新します
 イベントはイベントの一覧を取得した際などに“id” として出力される
“07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ のような形式で指定します
 イベントデータは JSON 形式か iCalendar 形式で送信します
 JSON 形式でデータを送信する場合は「Content-Type」ヘッダーに「application/json」を指定しま
す
 iCalendar 形式でデータを送信する場合は「Content-Type」ヘッダーに「text/calendar」を指定しま
す
 カレンダーイベントの記述方法はP.32「カレンダーイベントを追加する(3/3)」と同様です
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 36
Domino Calendar Service の利用
カレンダーイベントを更新する(2/2)
 メソッド
put メールファイル名/api/calendar/events/イベントのID
例:
>curl -i -X PUT –u ユーザー名:パスワード -H “Content-type: application/json” -d@calendar2.txt http://ホスト名/メールファイル名
/api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated
出力例:
HTTP/1.1 200 OK
~省略~
{
"events": [
{
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated",
"id":"040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated",
"summary":"Meeting2",
"location":"Location2",
"start": {
"date":"2018-01-19",
"time":"09:00:00",
"utc":true
},
"class":"public",
~省略~
]
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 37
Domino Calendar Service の利用
カレンダーイベントを削除する
 指定した個別のカレンダーイベントを削除します
 イベントはイベントの一覧を取得した際などに“id” として出力される
“07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ のような形式で指定します
 メソッド
delete メールファイル名/api/calendar/events/イベントのID
例:
>curl -i -X DELETE -u ユーザー名:パスワード http://ホスト名/メールファイル名
/api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated
出力例:
HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Tue, 16 Jan 2018 05:36:49 GMT
Connection: close
Set-Cookie: SessionID=4E712FC86F62D39F5FA1B75A0336D83C22BFC49A; path=/; HttpOnly
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 38
Domino Calendar Service の利用
新しい会議召集を取得する
 返答していない会議召集の一覧を JSON 形式で出力します
 検索パラメーターによって指定した日時以降に開催される会議や指定した日時以降に受 け取った会議招集を
出力することも可能です
 出力には個々の会議召集にアクセスするためのURLを含みます
 メソッド
get メールファイル名/api/calendar/invitations
例:
>curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/invitations
出力例:
{
"notices":[
{
"summary":"¥u4F1A¥u8B702",
"scheduleMethod":"request",
"href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/notices¥/354E3FBE73968E3D49258202001B37B5"
}
]
}
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 39
Domino Calendar Service の利用
カレンダー通知を取得する
 指定したカレンダー通知の情報を JSON 形式または iCalendar 形式で出力します
 iCalendar 形式で出力する場合は URL に「?format=icalendar」を付加します
 カレンダー通知を指定するための ID は前ページの「新しい会議召集を取得する」ことで取得 できます
 メソッド
get メールファイル名/api/calendar/notices/カレンダー通知のID
例:
>curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/notices/0EC6730258462ACB49258217001F3AF2
出力例:
{
“href”:“¥/メールファイル¥/api¥/calendar¥/notices¥/0EC6730258462ACB49258217001F3AF2",
"scheduleMethod":"request",
"timezones": [
{
~省略~
"events": [
{
"id":"0EC6730258462ACB49258217001F3AF2-Lotus_Notes_Generated",
"summary":"Meeting",
"location":"Room1",
~省略~
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 40
Domino Calendar Service の利用
イベントに返答する
 指定したイベント(会議召集など)に返答します
 返答の内容は「?type=accept」のように検索パラメーターとして URL に付加します
 「Content-Type」ヘッダーに「application/json」を指定する必要があります
 「accept」などの返答をする場合はデータは不要ですが、日時の変更を提案する場合などは JSON形式でデータを送信し
ます
 イベントを指定するための ID は前ページの「カレンダー通知を取得する」ことで取得できま す
 カレンダー通知の ID ではなく、取得した JSON に含まれる ”events” の ”id” を指定しま す
 メソッド
put メールファイル名/api/calendar/notices/イベントのID/action
例:
>curl -i -u ユーザー名:パスワード -X PUT http://ホスト名/メールファイル名/api/calendar/notices/0EC6730258462ACB49258217001F3AF2-
Lotus_Notes_Generated/action?type=accept
出力例:
HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Tue, 16 Jan 2018 05:52:02 GMT
Connection: close
Set-Cookie: SessionID=D7D593CE8937BE9C84CD617157DC39980D24299D; path=/; HttpOnly
参考情報
Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 42
参考情報
IBM Domino Access Services 9.0.1のAPIドキュメント
https://www-
10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=openDocument&cont
ent=catcontent&ct=ap
のおつ -Notes/Dominoに関すること-
https://guylocke.blogspot.com/2013/06/notesdomino-rest-api.html
ITmedia
https://www.atmarkit.co.jp/ait/articles/1304/22/news014.html
まだプログラマーですが何か?
http://dotnsf.blog.jp/archives/1023035172.html
slideshare
https://www.slideshare.net/kenjiebihara71/domino-rest

More Related Content

What's hot

ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
Takeshi Yoshida
 
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
Takeshi Yoshida
 
HCL Domino エージェントとトラブルシューティング
HCL Domino エージェントとトラブルシューティングHCL Domino エージェントとトラブルシューティング
HCL Domino エージェントとトラブルシューティング
Software Info HCL Japan
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?
Haruyuki Nakano
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)
Haruyuki Nakano
 
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis ZWorkshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
panagenda
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL Sametime
Haruyuki Nakano
 
Notes データベースの多言語対応
Notes データベースの多言語対応Notes データベースの多言語対応
Notes データベースの多言語対応
Haruyuki Nakano
 
Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
Odoo
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
Brocade
 
HCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for DummiesHCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for Dummies
panagenda
 
ODS ってなんだ?
ODS ってなんだ?ODS ってなんだ?
ODS ってなんだ?
Haruyuki Nakano
 
大きすぎるフィールドに対応した件
大きすぎるフィールドに対応した件大きすぎるフィールドに対応した件
大きすぎるフィールドに対応した件
Haruyuki Nakano
 
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Takeshi Yoshida
 
60 Admin Tips
60 Admin Tips60 Admin Tips
60 Admin Tips
Gabriella Davis
 
Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10
Kim Greene Consulting, Inc.
 
XPagesで検索してみよう
XPagesで検索してみようXPagesで検索してみよう
XPagesで検索してみよう
Masahiko Miyo
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance Boost
Christoph Adler
 
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
panagenda
 

What's hot (20)

ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
ノーツアプリケーションのデザインを変更してみよう!(Version 1.1)
 
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)
 
HCL Domino エージェントとトラブルシューティング
HCL Domino エージェントとトラブルシューティングHCL Domino エージェントとトラブルシューティング
HCL Domino エージェントとトラブルシューティング
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)
 
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis ZWorkshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
Workshop: HCL Notes 14 Upgrades einfach gemacht – von A bis Z
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL Sametime
 
Notes データベースの多言語対応
Notes データベースの多言語対応Notes データベースの多言語対応
Notes データベースの多言語対応
 
Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!Timesheet Workshop: The Timesheet App People Love!
Timesheet Workshop: The Timesheet App People Love!
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
 
HCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for DummiesHCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for Dummies
 
ODS ってなんだ?
ODS ってなんだ?ODS ってなんだ?
ODS ってなんだ?
 
大きすぎるフィールドに対応した件
大きすぎるフィールドに対応した件大きすぎるフィールドに対応した件
大きすぎるフィールドに対応した件
 
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)Notes 技術者のためのはじめての XPages 講座 (XPagesDay 2015)
Notes 技術者のための はじめての XPages 講座 (XPagesDay 2015)
 
60 Admin Tips
60 Admin Tips60 Admin Tips
60 Admin Tips
 
Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10Self Healing Capabilities of Domino 10
Self Healing Capabilities of Domino 10
 
XPagesで検索してみよう
XPagesで検索してみようXPagesで検索してみよう
XPagesで検索してみよう
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance Boost
 
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
Von A bis Z-itrix: Installieren Sie den stabilsten und schnellsten HCL Notes-...
 

Similar to HCL Domino REST API 利用ガイド

XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡXPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
Masahiko Miyo
 
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみたマルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
桂一 中山
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
CData Software Japan
 
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
VirtualTech Japan Inc.
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
BigData Sios
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報dstn
 
XPagesでRESTを使ってみよう
XPagesでRESTを使ってみようXPagesでRESTを使ってみよう
XPagesでRESTを使ってみよう
Masahiko Miyo
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
Kimihiko Kitase
 
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
Takanori Ohba
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
Katsunori Kanda
 
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
 
AWS IoT サービス アップデートのご紹介
AWS IoT サービス アップデートのご紹介AWS IoT サービス アップデートのご紹介
AWS IoT サービス アップデートのご紹介
Amazon Web Services Japan
 
AWS Organizations
AWS OrganizationsAWS Organizations
AWS Organizations
Serverworks Co.,Ltd.
 
DevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてDevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めて
Atsushi Kojima
 
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
CData Software Japan
 
Social Business Application Development
Social Business Application DevelopmentSocial Business Application Development
Social Business Application Development
Atsushi Sato
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
 
Docker Chronicle 2021.09
Docker Chronicle  2021.09Docker Chronicle  2021.09
Docker Chronicle 2021.09
Masahito Zembutsu
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Masahiro Tomisugi
 

Similar to HCL Domino REST API 利用ガイド (20)

XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡXPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
 
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみたマルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
マルチリージョン・マルチアカウント対応の柔軟な構築ツールを作ってみた
 
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
kintoneのデータをSQLで操作!? ~Drivers/Gateway/Sync 徹底比較~
 
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
 
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザAWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
 
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報20120822_dstn技術交流会_dstnのご紹介と最新技術情報
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
 
XPagesでRESTを使ってみよう
XPagesでRESTを使ってみようXPagesでRESTを使ってみよう
XPagesでRESTを使ってみよう
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
 
Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話Airflowを広告データのワークフローエンジンとして運用してみた話
Airflowを広告データのワークフローエンジンとして運用してみた話
 
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
 
AWS IoT サービス アップデートのご紹介
AWS IoT サービス アップデートのご紹介AWS IoT サービス アップデートのご紹介
AWS IoT サービス アップデートのご紹介
 
AWS Organizations
AWS OrganizationsAWS Organizations
AWS Organizations
 
DevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてDevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めて
 
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
 
Social Business Application Development
Social Business Application DevelopmentSocial Business Application Development
Social Business Application Development
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
Docker Chronicle 2021.09
Docker Chronicle  2021.09Docker Chronicle  2021.09
Docker Chronicle 2021.09
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
 

More from Software Info HCL Japan

HCL Sametime V12 概要
HCL Sametime V12 概要HCL Sametime V12 概要
HCL Sametime V12 概要
Software Info HCL Japan
 
HCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイドHCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイド
Software Info HCL Japan
 
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdfHCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
Software Info HCL Japan
 
すぐわかる HCL Domino Leap
すぐわかる HCL Domino Leapすぐわかる HCL Domino Leap
すぐわかる HCL Domino Leap
Software Info HCL Japan
 
HCL Domino Leap 概要
HCL Domino Leap 概要HCL Domino Leap 概要
HCL Domino Leap 概要
Software Info HCL Japan
 
すぐわかる HCL Nomad
すぐわかる HCL Nomadすぐわかる HCL Nomad
すぐわかる HCL Nomad
Software Info HCL Japan
 
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
Software Info HCL Japan
 
Sametimev12説明資料_20220518.pdf
Sametimev12説明資料_20220518.pdfSametimev12説明資料_20220518.pdf
Sametimev12説明資料_20220518.pdf
Software Info HCL Japan
 
HCL Software 概要
HCL Software 概要HCL Software 概要
HCL Software 概要
Software Info HCL Japan
 
HCL Unica 製品カタログ
HCL Unica 製品カタログHCL Unica 製品カタログ
HCL Unica 製品カタログ
Software Info HCL Japan
 
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
Software Info HCL Japan
 
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Software Info HCL Japan
 
Notes/Domino CCB サブスクリプションでここまで使える!!
Notes/Domino CCB サブスクリプションでここまで使える!!Notes/Domino CCB サブスクリプションでここまで使える!!
Notes/Domino CCB サブスクリプションでここまで使える!!
Software Info HCL Japan
 
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えますHCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
Software Info HCL Japan
 
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
Software Info HCL Japan
 
HCL Nomad Mobile のご紹介
HCL Nomad Mobile のご紹介HCL Nomad Mobile のご紹介
HCL Nomad Mobile のご紹介
Software Info HCL Japan
 
HCL Software メインフレーム ソフトウェアのご提案
HCL Software メインフレーム ソフトウェアのご提案HCL Software メインフレーム ソフトウェアのご提案
HCL Software メインフレーム ソフトウェアのご提案
Software Info HCL Japan
 
Notes/Domino 9.0.x および V10 のサポートに関する更新情報について
Notes/Domino 9.0.x および V10 のサポートに関する更新情報についてNotes/Domino 9.0.x および V10 のサポートに関する更新情報について
Notes/Domino 9.0.x および V10 のサポートに関する更新情報について
Software Info HCL Japan
 
HCL AppScan 10 のご紹介
HCL AppScan 10 のご紹介HCL AppScan 10 のご紹介
HCL AppScan 10 のご紹介
Software Info HCL Japan
 
iPhone のズーム機能による HCL Nomad 画面の拡大
iPhone のズーム機能による HCL Nomad 画面の拡大iPhone のズーム機能による HCL Nomad 画面の拡大
iPhone のズーム機能による HCL Nomad 画面の拡大
Software Info HCL Japan
 

More from Software Info HCL Japan (20)

HCL Sametime V12 概要
HCL Sametime V12 概要HCL Sametime V12 概要
HCL Sametime V12 概要
 
HCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイドHCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイド
 
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdfHCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
HCL Nomad Web Sandbox アプリケーション検証手順-20230727.pdf
 
すぐわかる HCL Domino Leap
すぐわかる HCL Domino Leapすぐわかる HCL Domino Leap
すぐわかる HCL Domino Leap
 
HCL Domino Leap 概要
HCL Domino Leap 概要HCL Domino Leap 概要
HCL Domino Leap 概要
 
すぐわかる HCL Nomad
すぐわかる HCL Nomadすぐわかる HCL Nomad
すぐわかる HCL Nomad
 
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
Notes/Domino V9.0, V10 ご利用中のお客様へ営業活動終了 & サポート終了予定のご案内と V12 および HCL Nomad のご紹介
 
Sametimev12説明資料_20220518.pdf
Sametimev12説明資料_20220518.pdfSametimev12説明資料_20220518.pdf
Sametimev12説明資料_20220518.pdf
 
HCL Software 概要
HCL Software 概要HCL Software 概要
HCL Software 概要
 
HCL Unica 製品カタログ
HCL Unica 製品カタログHCL Unica 製品カタログ
HCL Unica 製品カタログ
 
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
BigFix とAppScan による組織全体でのLog4j 脆弱性問題への対応
 
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
Notes/Domino アプリがそのまま Web ブラウザで動く HCL Nomad Web の簡単な導入と「仕掛け」
 
Notes/Domino CCB サブスクリプションでここまで使える!!
Notes/Domino CCB サブスクリプションでここまで使える!!Notes/Domino CCB サブスクリプションでここまで使える!!
Notes/Domino CCB サブスクリプションでここまで使える!!
 
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えますHCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
HCL Connections: ビジネスの原動力は人であり、Connectionsは人に力を与えます
 
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
HCL Connections: Connected, Committed and Collaborative: 従業員の積極的な参加が成功をもたらす方法
 
HCL Nomad Mobile のご紹介
HCL Nomad Mobile のご紹介HCL Nomad Mobile のご紹介
HCL Nomad Mobile のご紹介
 
HCL Software メインフレーム ソフトウェアのご提案
HCL Software メインフレーム ソフトウェアのご提案HCL Software メインフレーム ソフトウェアのご提案
HCL Software メインフレーム ソフトウェアのご提案
 
Notes/Domino 9.0.x および V10 のサポートに関する更新情報について
Notes/Domino 9.0.x および V10 のサポートに関する更新情報についてNotes/Domino 9.0.x および V10 のサポートに関する更新情報について
Notes/Domino 9.0.x および V10 のサポートに関する更新情報について
 
HCL AppScan 10 のご紹介
HCL AppScan 10 のご紹介HCL AppScan 10 のご紹介
HCL AppScan 10 のご紹介
 
iPhone のズーム機能による HCL Nomad 画面の拡大
iPhone のズーム機能による HCL Nomad 画面の拡大iPhone のズーム機能による HCL Nomad 画面の拡大
iPhone のズーム機能による HCL Nomad 画面の拡大
 

HCL Domino REST API 利用ガイド

  • 1. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com HCL Domino - Domino REST API 利用ガイド Domino Access Service 利用ガイド 2020年 11月30日 株式会社エイチシーエル・ジャパン
  • 2. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 2 当資料について 当資料の記載内容は、正式なHCL のテストやレビューを受けておりません。内容について、できる限り正 確を期すよう努めてはおりますが、いかなる明示または暗黙の保証も責任も負いかねます。本資料の情報 は、使用先の責任において使用されるべきものであること を、あらかじめご了承ください。 当資料は、資料作成時点で公開されている情報を元に作成しています。掲載情報は不定期 に変更されるこ ともあります。他のメディア等に無断で転載する事はご遠慮ください。
  • 3. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 3 目次 1. Domino Access Services 概 要 2. Domino Access Services の構成 3. Domino Access Services の利用方法 参考情報
  • 4. 1. Domino Access services概要
  • 5. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 5 REST API とは REST とは  Representation State Transfer の略  Roy Thomas Fielding が提唱したソフトウェア・アーキテクチャー REST API とは  REST に則った Web サービス API  大まかに以下の特徴を持ちます  アドレス指定可能なURI でリソースにアクセスできる  HTTP メソッドでアクセスする  ステートレスである(セッションを保持しない)
  • 6. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 6 Domino Access Services とは Domino Access Services(DAS)  HCL Domino サーバー上のデータベースに対して REST API でのアクセスを提供する機能  以下の3つのサービスがある  Domino Data Service  JSON 形式でのデータベースへのアクセスを提供するサービス  Domino Calendar Service  JSON 形式と iCalendar 形式でのカレンダーデータへのアクセスを提供するサービス  Domino Core Service  Dominoサーバーでどの DAS サービスを提供しているか、パスワードの最終更新日などのデータベースに依 存しない情報を提供するサービス  9.0.1以降の Domino で利用可能 (Domino Data Service のみは Domino 8.5.3 Upgrade kit 1 以降で利用可能)  HTTPタスクを実行する必要がある
  • 7. 2. Domino Access Servicesの構成
  • 8. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 8 サーバーの設定  Domino Access ServicesはDominoサーバー文書で有効にします  サーバー文書の[ インターネットプロトコル] - [ Domino Web Engine ] タブ(インターネットサイト文 書の場合は [ 設定 ]タブ)の一番下に「Dominoアクセスサービス」という項目があります  「有効なサービス」に Domino Data Service を有効にする場合は「データ」、DominoCalendar Service を有効にする場合は「カレンダー」、両方の場合は「データ、カレンダー」と入力します  設定変更後に HTTP タスクを再起動します
  • 9. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 9 データベースの設定  実際にデータベースにアクセスするためには、各データベースに設定が必要です  Notes クライアントでデータベースプロパティを開きます  [ 詳細 ] タブ(一番右のタブ)の「Domino データサービスを許可」をビューと文書にアクセスしたい場合は 「ビューと文書」、ビューのみにアクセスする場合は「ビュー」に 変更します
  • 10. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 10 ビュー の設定  ビューにアクセスするためには、各ビューに設定が必要です  Domino Designer で Domino Data Service でアクセスしたいビューを開きます  ビューのプロパティを開き、[ 詳細 ] タブの「Domino データサービスの操作を許可」にチェックして ビューを保存します  複数のビューを利用したい場合は、それぞれのビューで同様の操作を行います
  • 11. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 11 Domino Calendar Service の設定  Domino Calendar Service を利用するためには、各メールデータベースに設定が必要です  Domino Designer でメールデータベースのビュー「($CSAPIs)」を開きます。  ビューのプロパティを開き、[ 詳細 ] タブの「Domino データサービスの操作を許可」に  チェックしてビューを保存します(前頁と手順は同じです)  データベースプロパティ「IBMDomino データサービスを許可」の設定は不要です  多数のユーザーのメールデータベースで有効にする場合はメールテンプレートのビューの設計を変更 することをお勧めします  Mail85.ntfにはビュー「($CSAPIs)」がないため、Domino 9.0.1 以降のサーバーで mail85.ntfを利用 している場合は、mail9.ntf など 9.0.1 以降のメールテンプレートからビューをコピーする必要があり ます
  • 12. 3. Domino Access Services の 使用方法
  • 13. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 13 Domino Access Services の利用  この章ではDomino AccessServices のDomino Data Service と Domino Calendar Service で可能な代 表的な操作について説明します  利用可能なすべての操作やパラメーターなどについてはIBM Domino Access Services 9.0.1 のドキュ メントを参照してください https://ds- infolib.hcltechsw.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1&a ction=openDocument&content=catcontent&ct=api  当資料ではテストツールとして cURL を利用した入出力サンプルを抜粋して掲載します  Get メソッドは Web ブラウザからリクエストを発行できますが、通常は他のメソッドは Web ブラウ ザではリクエストを発行できないため、REST API のリクエストを発行するためには何らかのツール が必要です  具体的なツールはご紹介しませんが REST API のリクエストを発行できるGUI ベースのツ ールもあ ります
  • 14. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 14 Domino Data Service の利用  Domino Data Service で利用可能な代表的な操作は以下のとおりです  データベースコレクションに対する操作  サーバー上のデータベース一覧を取得する  ビュー/フォルダーコレクションに対する操作  データベースのビュー/フォルダー一覧を取得する  ビュー/フォルダーエントリに対する操作  ビュー/フォルダーのエントリを取得する  文書コレクションに対する操作  文書コレクションを取得する  文書を作成する  文書に対する操作  文書を取得する  文書を更新する  文書を削除する
  • 15. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 15 Domino Data Service の利用 簡単な出力の読み方  Domino Data Service の出力結果には多くの場合以下のような情報が含まれます  @Title  データベースやビュー/フォルダーなどの名前  日本語は UTF-8 でエンコードされます  @UNID  ビュー/フォルダーや文書などの UNID  @href  データベースやビュー/フォルダーや文書などにDAS でアクセスするための URL  「/」は「¥」でエスケープされます
  • 16. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 16 Domino Data Service の利用 サーバー上にあるデータベースを一覧する  サーバー上にあるすべてのデータベースが JSON 形式で出力されます  データベースプロパティの「Dominoアクセスサービスを許可」の設定によらずすべて のデータベースが結果に含まれます  データベースへのアクセス権は不要ですがユーザー認証が必要です  メソッド get /api/data 例: >curl -u ユーザー名:パスワード http://ホスト名/api/data 出力例: [ { "@title":"¥u30B7¥u30B9¥u30C6¥u30E0¥u7BA1¥u7406¥u8981¥u6C42", "@filepath":"admin4.nsf", "@replicaid":"492580A6031DA54D", “@template":"StdR4AdminRequests", "@href":"¥/admin4.nsf¥/api¥/data¥/collections" }, ~ 省 略 ~ ]
  • 17. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 17 Domino Data Service の利用 データベースのビュー/フォルダーを一覧する  データベースに存在するビュー/フォルダーの一覧が JSON 形式で出力されます  「Domino データサービスの操作を許可」を有効にしていないビュー/フォルダー も表示されます  データベースへの適切なアクセス権が必要です  メソッド get /ファイル名/api/data/collections 例: >curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/collections 出力例: [ { "@title":"¥u4F5C¥u6210¥u8005¥u5225", "@folder":false, "@private":false, "@modified":"2020-02-14T02:32:18Z", "@unid":"B86F19F9A1EED6794825751200200698", "@href":"¥/test1.nsf¥/api¥/data¥/collections¥/unid¥/B86F19F9A1EED6794825751200200698" }, ~ 省 略 ~ ]
  • 18. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 18 Domino Data Service の利用 ビュー/フォルダーのエントリを取得する(1/2)  指定したビュー/フォルダーのエントリを JSON 形式で出力します  検索パラメーターを指定しない場合は最初の10エントリが出力されます  検索パラメーターの詳細についてはドキュメントの「View/folder entries GET」の項を 参照してくださ い https://ds_infolib.hcltechsw.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Servic es+9.0.1#action=openDocument&res_title=Viewfolder_entries_GET_dds10&content=apicontent  「search」キーワードを利用した検索を行うためにはデータベースに全文索引が作成されている必要が あります
  • 19. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 19 Domino Data Service の利用 ビュー/フォルダーのエントリを取得する(2/2)  メソッド  get /api/data/collections/unid/ビューの UNID  get /api/data/collections/name/ビュー名  検索パラメーターを指定する場合は get /api/data/collections/unid/ビューのUNID?start=1&count=3 のように「?」を付与します 例: >curl -u ユーザー名:パスワード http://ホスト名/api/data/collections/name/($All) 出力例: [ { "@href":"¥/test1.nsf¥/api¥/data¥/collections¥/name¥/($All)¥/unid¥/4C53DC3FB8FA9CED492581FB002576F3", "@link": { "rel":"document", "href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/4C53DC3FB8FA9CED492581FB002576F3" }, "@entryid":"1-4C53DC3FB8FA9CED492581FB002576F3", "@unid":"4C53DC3FB8FA9CED492581FB002576F3", ~ 省 略 ~ ]
  • 20. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 20 Domino Data Service の利用 文書コレクションを取得する  データベースに存在する文書のコレクションが JSON 形式で出力されます  検索パラメーターを指定しない場合データベースのすべての文書が出力されます  検索パラメーターは全文検索を行う「search」か更新日時を指定する「since」のどちら かが使用できます  メソッド get /ファイル名/api/data/documents 例: >curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/documents 出力例: [ { "@modified":"2017-10-11T05:36:07Z", "@unid":"AD17CEEF1909941C492580C7000DF37D", "@href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/AD17CEEF1909941C492580C7000DF37D" }, ~ 省 略 ~ ]
  • 21. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 21 Domino Data Service の利用 文書を作成する  データベースに新規文書を作成します  新規文書のフィールド値は JSON 形式で指定します  「form=」パラメーターで文書が使用するフォームを指定できます  「computewithform=true」を指定することでフォームに基づいて計算を行うことができます  出力結果は HTTP ヘッダー「Location」の値として作成した新規文書にアクセスするため の URL が返ります  メソッド post /ファイル名/api/data/documents 例: >curl -i -H “Content-type: application/json” -X POST -d “{¥”Subject¥“:¥”fromDDA¥“,¥”Body¥“:¥”Test¥“}” -u ユーザー名:パスワード http:// ホスト名/ファイル名/api/data/documents 出力例: HTTP/1.1 201 Created Server: Lotus-Domino Date: Mon, 15 Jan 2018 08:07:02 GMT Connection: close Set-Cookie: SessionID=87AB55482C49F3DEB545866D68204E8728F96AAD; path=/; HttpOnly Location: http://ホスト名/ファイル名/api/data/documents/unid/2EE6FAA0EBAA779149258216002C9639
  • 22. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 22 Domino Data Service の利用 文書を取得する  UNID で指定した文書をJSON 形式で出力します  メソッド get /ファイル名/api/data/documents/unid/文書のUNID 例: >curl -u ユーザー名:パスワード http://ホスト名/ファイル名/api/data/documents/unid/34D1A45AB6AF2DBA4925820100215170 出力例: { "@href":"¥/test1.nsf¥/api¥/data¥/documents¥/unid¥/34D1A45AB6AF2DBA4925820100215170", "@unid":"34D1A45AB6AF2DBA4925820100215170", "@noteid":"91E", "@created":"2017-12-25T06:03:55Z", "@modified":"2017-12-25T06:03:55Z", ~ 省 略 ~ "ThreadId":"THAN-AUD95H", "MainID":"34D1A45AB6AF2DBA4925820100215170", "AbrFrom":"Admin", "NewsLetterSubject":"fromDDA", "Abstract":"Test", "Subject":"fromDDA" }
  • 23. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 23 Domino Data Service の利用 文書を更新する  UNID で指定した文書を更新します  更新するフィールドの値は JSON 形式で指定します  PATCH メソッドでは JSON で指定したフィールドのみが変更され、指定しなかったフ ィールドの値は変更されません  PUT メソッドでは JSON データですべてのフィールドが置き換えられます  「form=」パラメーターで文書が使用するフォームを指定できます  「computewithform=true」を指定することでフォームに基づいて計算を行うことができます  メソッド patch /ファイル名/api/data/documents/unid/文書のUNID put /ファイル名/api/data/documents/unid/文書のUNID 例: >curl -i -H “Content-type: application/json” -X PATCH -d “{¥”Subject¥“:¥”fromDDA2¥“,¥”Body¥“:¥”Test2¥“}” -u ユーザー名:パスワード http://ホスト名/ファイル名 /api/data/documentsunid/2EE6FAA0EBAA779149258216002C9639 出力例: HTTP/1.1 200 OK Server: Lotus-Domino Date: Mon, 15 Jan 2018 08:43:16 GMT Connection: close Set-Cookie: SessionID=4CA5F917FC734282174ECBD8B3641334ABB5E1E2; path=/; HttpOnly Content-Type: application/json
  • 24. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 24 Domino Data Service の利用 文書を削除する  UNID で指定した文書を削除します  メソッド delete /ファイル名/api/data/documents/unid/文書のUNID 例: >curl -i -H “Content-type: application/json” -X DELETE -u ユーザー名:パスワード http://ホスト名/ファイル名 /api/data/documentsunid/2EE6FAA0EBAA779149258216002C9639 出力例: HTTP/1.1 200 OK Server: Lotus-Domino Date: Mon, 15 Jan 2018 08:48:27 GMT Connection: close Set-Cookie: SessionID=C835204565533E3B7354D5A4BF4D9BDDA5BEE5F0; path=/; HttpOnly
  • 25. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 25 Domino Data Service の利用  Domino Calendar Service で利用可能な代表的な操作は以下のとおりです  Calendar に対する操作  ユーザーのカレンダーを取得する  Calendar Event の一覧に対する操作  カレンダーイベントの一覧を取得する  カレンダーイベントを追加する  個別のカレンダーイベントに対する操作  カレンダーイベントを取得する  カレンダーイベントを更新する  カレンダーイベントを削除する  会議召集に対する操作  新しい会議召集を取得する  カレンダー通知に対する操作  カレンダー通知を取得する  イベントに対する操作  イベントに返答する
  • 26. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 26 Domino Calendar Service の利用 ユーザーのカレンダーを取得する(1/2)  認証ユーザーのカレンダーがJSON 形式で出力されます  ユーザーのメール DB が返ります  出力結果には以下のような形式でそのユーザーのカレンダーイベントと会議召集にアクセスするための URL を含みます "links": [ { "rel":"events", “href”:“¥/mail¥/メールファイル名¥/api¥/calendar¥/events" }, { "rel":"invitations", “href”:“¥/mail¥/メールファイル名¥/api¥/calendar¥/invitations" } ]
  • 27. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 27 Domino Calendar Service の利用 ユーザーのカレンダーを取得する(2/2)  メソッド get /api/calendar 例: >curl –u ユーザー名:パスワード http://ホスト名/api/calendar 出力例: { "calendars":[ { "owner":{ "displayName":"Admin", ~省略~ }, "links": [ { "rel":"events", "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events" }, { "rel":"invitations", "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/invitations" } ] } ] }
  • 28. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 28 Domino Calendar Service の利用 カレンダーイベントの一覧を取得する(1/2)  ユーザーのカレンダーイベントの一覧が JSON 形式か iCalendar 形式で出力されます  iCalendar 形式で出力する場合はURL に「?format=icalendar」を付加します  デフォルトではリクエストを発行した時間から1年後までのカレンダーイベントを最大50 個返します  詳細な検索パラメーターについては以下のドキュメントを参照してください https://www- 10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0. 1#action=openDocument&res_title=Calendar_events_GET&content=apicontent
  • 29. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 29 Domino Calendar Service の利用 カレンダーイベントの一覧を取得する(2/2)  メソッド get メールファイル名/api/calendar/events 例: >curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar 出力例: { "events": [ { "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/07569716C2C339B349258201002F3B48-Lotus_Notes_Generated", "id":"07569716C2C339B349258201002F3B48-Lotus_Notes_Generated", "summary":"Meeting1", "location":"¥u4F1A¥u8B70¥u5BA4", "start": { "date":"2017-12-26", "time":"08:45:00", "utc":true }, ~省略~ }
  • 30. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 30 Domino Calendar Service の利用 カレンダーイベントを追加する(1/3)  ユーザーのカレンダーに新しくカレンダーイベントを追加します  イベントデータは JSON 形式か iCalendar 形式で送信します  JSON 形式でデータを送信する場合は「Content-Type」ヘッダーに「application/json」を指定しま す  iCalendar 形式でデータを送信する場合は「Content-Type」ヘッダーに「text/calendar」を指定しま す  出力として追加されたカレンダーイベントの情報が返ります  HTTP ヘッダーの「Location」の値として追加したイベントにアクセスするためのURL が返ります
  • 31. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 31 Domino Calendar Service の利用 カレンダーイベントを追加する(2/3)  メソッド post メールファイル名/api/calendar/events 例: >curl -i -X POST -u ユーザー名:パスワード -H “Content-type: application/json” -d @calendar.txt http:/ホスト名/メールファイル/api/calendar/events 出力例: HTTP/1.1 201 Created Server: Lotus-Domino Date: Tue, 16 Jan 2018 04:53:23 GMT ~省略~ Content-Type: application/json Location: http://thanatos:80/mail/admin.nsf/api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated Content-Length: 701 { "events": [ { "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated", "id":"040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated", ~省略~ ] }
  • 32. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 32 Domino Calendar Service の利用 カレンダーイベントを追加する(3/3)  ユーザーのカレンダーに新しくカレンダーイベントを追加します  JSON 形式 JSON representation of an event https://www- 10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=op enDocument&res_title=JSON_representation_of_an_event_das901&content=apicontentiCalendar  iCalendar 形式 iCalendar representation of an event https://www- 10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=op enDocument&res_title=iCalendar_representation_of_an_event_das901&content=apicontent
  • 33. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 33 Domino Calendar Service の利用 カレンダーイベントを取得する(1/2)  指定した個別のカレンダーイベントがJSON 形式か iCalendar 形式で出力されます  iCalendar 形式で出力する場合はURLに「?format=icalendar」を付加します  イベントはイベントの一覧を取得した際などに“id” として出力される “07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ という形式で指定します
  • 34. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 34 Domino Calendar Service の利用 カレンダーイベントを取得する(2/2)  メソッド get メールファイル名/api/calendar/events/イベントのID 例: >curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/events/07569716C2C339B349258201002F3B48- Lotus_Notes_Generated 出力例: { "timezones": [ { "tzid":"Tokyo Standard Time", "standard": { "start": { "date":"1950-01-01", "time":"02:00:00" }, "offsetFrom":"+0900", "offsetTo":"+0900" } } ], "events": [ { "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/354E3FBE73968E3D49258202001B37B5-Lotus_Notes_Generated", ~省略~
  • 35. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 35 Domino Calendar Service の利用 カレンダーイベントを更新する(1/2)  指定した個別のカレンダーイベントを更新します  イベントはイベントの一覧を取得した際などに“id” として出力される “07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ のような形式で指定します  イベントデータは JSON 形式か iCalendar 形式で送信します  JSON 形式でデータを送信する場合は「Content-Type」ヘッダーに「application/json」を指定しま す  iCalendar 形式でデータを送信する場合は「Content-Type」ヘッダーに「text/calendar」を指定しま す  カレンダーイベントの記述方法はP.32「カレンダーイベントを追加する(3/3)」と同様です
  • 36. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 36 Domino Calendar Service の利用 カレンダーイベントを更新する(2/2)  メソッド put メールファイル名/api/calendar/events/イベントのID 例: >curl -i -X PUT –u ユーザー名:パスワード -H “Content-type: application/json” -d@calendar2.txt http://ホスト名/メールファイル名 /api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated 出力例: HTTP/1.1 200 OK ~省略~ { "events": [ { "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/events¥/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated", "id":"040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated", "summary":"Meeting2", "location":"Location2", "start": { "date":"2018-01-19", "time":"09:00:00", "utc":true }, "class":"public", ~省略~ ] }
  • 37. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 37 Domino Calendar Service の利用 カレンダーイベントを削除する  指定した個別のカレンダーイベントを削除します  イベントはイベントの一覧を取得した際などに“id” として出力される “07569716C2C339B349258201002F3B48-Lotus_Notes_Generated“ のような形式で指定します  メソッド delete メールファイル名/api/calendar/events/イベントのID 例: >curl -i -X DELETE -u ユーザー名:パスワード http://ホスト名/メールファイル名 /api/calendar/events/040094F27E4944AE49258217001ADB8D-Lotus_Auto_Generated 出力例: HTTP/1.1 200 OK Server: Lotus-Domino Date: Tue, 16 Jan 2018 05:36:49 GMT Connection: close Set-Cookie: SessionID=4E712FC86F62D39F5FA1B75A0336D83C22BFC49A; path=/; HttpOnly
  • 38. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 38 Domino Calendar Service の利用 新しい会議召集を取得する  返答していない会議召集の一覧を JSON 形式で出力します  検索パラメーターによって指定した日時以降に開催される会議や指定した日時以降に受 け取った会議招集を 出力することも可能です  出力には個々の会議召集にアクセスするためのURLを含みます  メソッド get メールファイル名/api/calendar/invitations 例: >curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/invitations 出力例: { "notices":[ { "summary":"¥u4F1A¥u8B702", "scheduleMethod":"request", "href":"¥/mail¥/admin.nsf¥/api¥/calendar¥/notices¥/354E3FBE73968E3D49258202001B37B5" } ] }
  • 39. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 39 Domino Calendar Service の利用 カレンダー通知を取得する  指定したカレンダー通知の情報を JSON 形式または iCalendar 形式で出力します  iCalendar 形式で出力する場合は URL に「?format=icalendar」を付加します  カレンダー通知を指定するための ID は前ページの「新しい会議召集を取得する」ことで取得 できます  メソッド get メールファイル名/api/calendar/notices/カレンダー通知のID 例: >curl –u ユーザー名:パスワード http://ホスト名/メールファイル名/api/calendar/notices/0EC6730258462ACB49258217001F3AF2 出力例: { “href”:“¥/メールファイル¥/api¥/calendar¥/notices¥/0EC6730258462ACB49258217001F3AF2", "scheduleMethod":"request", "timezones": [ { ~省略~ "events": [ { "id":"0EC6730258462ACB49258217001F3AF2-Lotus_Notes_Generated", "summary":"Meeting", "location":"Room1", ~省略~
  • 40. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 40 Domino Calendar Service の利用 イベントに返答する  指定したイベント(会議召集など)に返答します  返答の内容は「?type=accept」のように検索パラメーターとして URL に付加します  「Content-Type」ヘッダーに「application/json」を指定する必要があります  「accept」などの返答をする場合はデータは不要ですが、日時の変更を提案する場合などは JSON形式でデータを送信し ます  イベントを指定するための ID は前ページの「カレンダー通知を取得する」ことで取得できま す  カレンダー通知の ID ではなく、取得した JSON に含まれる ”events” の ”id” を指定しま す  メソッド put メールファイル名/api/calendar/notices/イベントのID/action 例: >curl -i -u ユーザー名:パスワード -X PUT http://ホスト名/メールファイル名/api/calendar/notices/0EC6730258462ACB49258217001F3AF2- Lotus_Notes_Generated/action?type=accept 出力例: HTTP/1.1 200 OK Server: Lotus-Domino Date: Tue, 16 Jan 2018 05:52:02 GMT Connection: close Set-Cookie: SessionID=D7D593CE8937BE9C84CD617157DC39980D24299D; path=/; HttpOnly
  • 42. Copyright © 2020 HCL Technologies Limited | www.hcltechsw.com 42 参考情報 IBM Domino Access Services 9.0.1のAPIドキュメント https://www- 10.lotus.com/ldd/ddwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Domino+Access+Services+9.0.1#action=openDocument&cont ent=catcontent&ct=ap のおつ -Notes/Dominoに関すること- https://guylocke.blogspot.com/2013/06/notesdomino-rest-api.html ITmedia https://www.atmarkit.co.jp/ait/articles/1304/22/news014.html まだプログラマーですが何か? http://dotnsf.blog.jp/archives/1023035172.html slideshare https://www.slideshare.net/kenjiebihara71/domino-rest