LoginSignup
5
5

More than 3 years have passed since last update.

プリザンターのAPIを使ってみる(curl)

Last updated at Posted at 2020-11-08

概要

プリザンターに持っている「API機能」を使ってみることにしました。
プリザンターにサイト(DBでいうテーブル的なもの)を作成。
そこにAPIでデータを登録できることを確認します。

前提条件

これらの詳細は省略。

結論

「API機能」でデータの登録ができることを確認。
登録するデータをJSON形式で作るのが、まあまあ大変。
データの中の日付の項目の形式が不正な場合、空のデータが登録される。
不具合のような気がする。

詳細

プリザンターにサイトを作成

項目が少な目の「出勤簿」を選択してサイトを作成。
特に設定もいじらない。

image.png

image.png
↑最初の状態、0件

APIキーを発行

「API機能」を使うためには「APIキー」が要るので、設定画面で発行する。
image.png
↑ローカルのテスト環境なのでAPIキーはそのまま公開。

サイトID確認

設定画面でサイトIDを確認する。APIコールで必要になるので。

image.png
↑「12389」だった

必要な情報を調査

image.png
↑の管理画面で、事前に指定が要る項目の「項目名」を調べておく。
氏名→分類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 \" を作成しました。"}

↑こんな感じで成功。

画面で見ると。。。登録成功
image.png

登録できたので、とりあえず、ここまでで終わり。

※データの中の日付がおかしい時は、空のデータが登録される模様。

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5