イントロ
独自のカスタマイズやその他の目的でRESTfulAPIとしてBioStar2 New Local APIを使用する場合は、この記事を参照してください。この記事では、C#コンソールアプリケーションによるBioStar 2 New Local APIの基本的な使用法について説明します。
機能
この記事では、以下の機能について説明します。
- ログイン
- ユーザー検索
- ユーザー追加
- アクセスグループにユーザーを追加
- ログデータの取得
- 順序でログデータの取得
この記事では、API関数を呼び出して、選択した期間内のログデータを順序で取得する方法を確認します。たとえば、結果のログデータを時間、log_idなどの順序で並べ替えることができます。 リクエストbodyの[conditions]を修正して、検索のIDの範囲の検索期間を設定することもできます。
API呼び出し用に作成されたC#プログラムのサンプルコードをご覧ください。ソースコードをコピーして貼り付けて同じ機能を使用できます。
また、RESTfulAPI呼び出しに使用するプログラムであるPostmanを介してAPI関数を呼び出す方法も確認します。
Part 1. API呼び出しとパラメーター
[POST]: /events/search
[パラメーター]
名称 | タイプ | *M/O | 説明 |
… |
|
|
|
limit | integer | O | 取得するログの数 |
Conditions-values | String Array | O | イベント発生期間の設定。終了時刻の値は開始時刻よりも大きくする必要があります。 * ISO-8601形式のUTCでの日時(例 2015-06-10T02:14:05.268Z ) |
Conditions-operator | integer | O | desc: 検索条件[ EQUAL : 0, NOT_EQUAL : 1, CONTAINS : 2, BETWEEN : 3, LIKE : 4, GREATER : 5, LESS : 6] |
|
|
| 特定の期間またはIDでログを取得できます。 |
orders | String Array | O | ログの取得結果は、選択した列(ID、日時など)で並べ替えることができます。 |
* M – 必須, O – オプション
Part 2. リクエストボディとレスポンスモデル
[値/パラメータモデルの例]
1. 選択した期間内のログを取得し、IDで並べ替えます。 |
{ "Query": { "limit": 500, "conditions": [ { "column": "datetime", "operator": 3, "values": [ "2021-07-01T15:00:00.000Z", "2021-08-10T14:59:59.000Z" ] } ], "orders": [ { "column": "id", "descending": false } ] } } |
*Conditions: "column" : "datetime"は、ログのdatetime値でログを検索することを示します。たとえば、2021-07-01T15:00:00.000Zから2021-08-10T14:59:59.000Zまでのログが表示されます。
*orders: "column" : "id"は、結果のログを各ログのid値の順序に並べ替えることを示します。
*"orders" : " id" or other values,に変更するとそれに応じて他の値でログを並べ替えることができます。
[値/パラメータモデルの例]
2. 選択した2つのID値内のログを取得し、IDで並べ替えます。 |
{ "Query": { "limit": 500, "conditions": [ { "column": "id", "operator": 3, "values": [ "100", "100" ] } ], "orders": [ { "column": "id", "descending": false } ] } } |
*Conditions: "column" : "id"は、2つのid値の間にあるログが表示されることを示します。
[レスポンス: 成功]
1. 結果:選択した期間内のログを取得し、IDで並べ替えます。 |
{ "EventCollection": { "rows": [ { "id": "1", "server_datetime": "2021-08-02T07:34:27.00Z", "datetime": "2021-08-01T22:34:26.00Z", "index": "2", "user_group_id": { "id": "0", "name": "" }, "device_id": { "id": "939271697", "name": "BioStation A2 939271697 (192.168.13.132)" }, "event_type_id": { "code": "4095" }, "is_dst": "0", "timezone": { "half": "0", "hour": "9", ... |
2. 選択した2つのID値内のログを取得し、IDで並べ替えます。 |
"EventCollection": { "rows": [ { "id": "100", "server_datetime": "2021-09-14T08:13:24.00Z", "datetime": "2021-09-13T23:13:23.00Z", "index": "451", "user_id_name": "1(Administrator)", "user_id": { "user_id": "1", "name": "Administrator", "photo_exists": "false" }, "user_group_id": { "id": "1", "name": "All Users" }, "device_id": { "id": "538747164", "name": "BioLite N2 538747164 (192.168.13.141)" }, "event_type_id": { "code": "8704" }, "is_dst": "0", "timezone": { "half": "0", "hour": "9",... |
*ログが同じID値を持っていることにご注意ください。これは、ログデータが各年の各月の異なるデータテーブルに保存されているためです。 たとえば、同じID値の2021年の8月と9月の異なるテーブルからの2つのログが存在する可能性があります。
Part 3. Postmanでログ取得
[リクエスト例: ヘッダー]
*他のAPI呼び出しでのAPIの使用を認証するには、LoginAPI呼び出しのレスポンスヘッダーの「be-session-id」値を入力してください。
[リクエスト例]
[レスポンス例: body]