#概要
プリザンターに持っている「API機能」を使ってみることにしました。
プリザンターにサイト(DBでいうテーブル的なもの)を作成。
そこにAPIでデータを登録できることを確認します。
##前提条件
- プリザンター(https://pleasanter.net/fs/publishes/420234/edit)
- API
- curl
これらの詳細は省略。
#結論
「API機能」でデータの登録ができることを確認。
登録するデータをJSON形式で作るのが、まあまあ大変。
データの中の日付の項目の形式が不正な場合、空のデータが登録される。
不具合のような気がする。
#詳細
##プリザンターにサイトを作成
項目が少な目の「出勤簿」を選択してサイトを作成。
特に設定もいじらない。
##APIキーを発行
「API機能」を使うためには「APIキー」が要るので、設定画面で発行する。
↑ローカルのテスト環境なのでAPIキーはそのまま公開。
##サイトID確認
設定画面でサイトIDを確認する。APIコールで必要になるので。
##必要な情報を調査
↑の管理画面で、事前に指定が要る項目の「項目名」を調べておく。
氏名→分類A
所属→分類B
出勤場所→分類C
出勤→日付A
退勤→日付B
備考→内容
※あとはとりあえず省略
https://pleasanter.net/fs/publishes/1016743/edit
APIのドキュメントで、「項目名」に対する「プロパティ名」を調べておく。
この辺がちょっと面倒。慣れれば問題ないとは思うけど。
氏名→分類A→ClassHash
所属→分類B→ClassHash
出勤場所→分類C→ClassHash
出勤→日付A→DateHash
退勤→日付B→DateHash
備考→内容→Body
##curlコマンドで登録を試す
上記の情報をもとに、JSONデータを作ってcurlでPOSTする。
$ curl \
--ntlm --user "xxx\xxx:xxx" \
-H "Content-Type: application/json"\
-H "charset=UTF-8" \
-X POST -i "http://192.168.10.10/pleasanter/api/items/12389/create" -d '
{
"ApiVersion": "1.1",
"ApiKey": "ea55625bb586d27df01c281e5ef5464e4bbe6bc86d1451a24fd430351198ce0bbabc467cdd1d0ebdf4045ec22922dfce7a9f47a8241559229a7d5129d2329879",
"ClassHash": {
"ClassA": "氏名1",
"ClassB": "所属2",
"ClassC": "場所3"
},
"DateHash": {
"DateA": "2020/11/08 08:00",
"DateB": "2020/11/08 17:00"
},
"Body": "通常勤務です"
}
'
↑動作環境がNTLM認証なので「--ntlm --user "xxx\xxx:xxx"」の記載が必要でした。
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 80
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
X-Powered-By: ASP.NET
Date: Sun, 08 Nov 2020 07:31:43 GMT
{"Id":12395,"StatusCode":200,"Message":"\" 氏名1 \" を作成しました。"}
↑こんな感じで成功。
登録できたので、とりあえず、ここまでで終わり。
※データの中の日付がおかしい時は、空のデータが登録される模様。