Skip to main content
Skip table of contents

dRofus REST APIの概要

このドキュメントは、指定したデータベースのデータに対して dRofus REST API を使用するための参考資料をまとめたものです。
データベース管理REST APIについては、以下をご参照ください:管理システム REST API

このAPIは、APIを説明した OpenAPI 仕様 を提供しています。また、このAPIを探索し、ブラウザで試すことができる対話型GUIも用意しています。
データベース/プロジェクト固有のプロパティを取得する方法を公開し、ドキュメント化しているため、ドキュメントを参照するにはログインが必要です。下記の認証をご参照ください。

フィードバックを提供します

APIを使用したい使用例について、お気軽にお問い合わせください。

URLS

APIは現在、以下の場所にデプロイされています。今後も続く予定です。API ドキュメントではプロジェクト固有のプロパティが公開されるため、
そのプロパティを確認するにはログインする必要があります。dRofusのユーザー名とパスワードで接続する方法については、下記の
 dRofus REST API#認証 をご覧ください。

認証

Bearer

APIは一般的にOAauth2標準のBearerトークンをサポートしています。OAuth2 クライアントの登録プロセスは現在手動で行っています。
必要な情報は support@drofus.com までご連絡ください。ご希望のredirect_uri(s) (および必要であればpost_logout_redirect_uri(s))をお送りください。

テスト目的では、HTTP ベーシック認証 も使用できます。ただし、本番アプリケーションでは避ける必要があります。

APIキー

APIは、"API-key "を使用したデータの読み取りをサポートしています。このアクセス・モードは、ダッシュボード、PowerQuery (Excel, PoweBI)などのアドホック・データ (ad-hoc data) および/または定期的なAPIコール (recurring API-calls)の読み取りに使用されます。

キーは、ここで説明されているように生成することができます:パワー・クエリ#3.-認証情報/ログイン 生成されたキーには、ログインしたユーザーとプロジェクトが反映されます。

APIキーを使用した場合の備考

  • 読み取り操作のみをサポートします
  • API キーは単一のプロジェクトに有効です。ユーザーは、異なるプロジェクトにアクセスするために複数の API キーを生成できます。
    同じプロジェクトで API-Key を二度生成すると、同じキーになります。
  • API キーは単一のユーザーに属し、機密であるため、共有しないでください。
  • API キーはマシン間通信に使用することを意図しておらず、そのように使用すべきではありません。

テクニカルな説明

各 HTTP リクエストでは、標準の Authorization ヘッダとして API-key を Reference scheme で送信する必要があります。

認証:Reference <API-key>

多くのクライアントは、認証ヘッダー(Excel やブラウザのアドレス バーへの URL の貼り付けなど)の設定を許可していませんが、サーバーが "Unauthorized" を送信すると
ユーザー名とパスワードの入力を求められることに注意してください。このようなプロンプトは、Basic スキームを使用した認証ヘッダーを使用してリクエストを送信します。
そこでフォールバックとして、アプリケーションはBasicスキームのAuthorizationヘッダーとして、
ユーザー名が定数の
 apikey パスワードがAPI-keyとなるようにエンコードされたAPI-keyも受け入れます。したがって、ワイヤーのフォーマットは以下のようになります:

認証:Basic base64urlencode(apikey:<API-key>)


これはあくまでも例であり、可能な限り参照スキームを使用することを推奨します。
クライアントがリクエストヘッダを完全に制御できるのであれば、ベーシック・スキーム (Basic scheme,)でエンコードされたAPI-keyを使う必要はありません。

データベースとプロジェクトIDの提供

すべてのAPIエンドポイントは、URLのパスの一部としてデータベースとプロジェクト番号を提供する必要があります。例えば、https://api-host/api/database/projectId/resources

クエリ

現在、OData 標準のクエリ構文をモデルとしていますが、そのごく一部しかサポートしていません。

引数説明
$select返す列 (コラム) のカンマ区切りリスト。'id' は常に返されます。$select=name,architect_no
$orderbyソートする列 (コラム)のカンマ区切りリスト。ソートの方向はascまたはdescで指定することができます。
デフォルトはasc。orderbyが指定されていない場合は、idでソートされます。
$orderby=name,architect_no desc, 
$filter

返される行 (ロウ)を制限するために使用します。 列 (コラム) にはフィルタをかける条件を指定することができます。
フィルタ値の引用符で囲むことで、埋め込まれたスペースや文字列を扱うことができます。
現在のところ、"および (and)" だけを使用して複数のフィルタを組み合わせることができます。

操作:
操作説明
Eq等しい
Ne同等ではない
Lt未満
Gtより大きい
Le以下または同等
Geより大きいか等しい
Inメンバーである
Contains文字列がサブ文字列を含む

$filter=created gt '2019-1-1'

$filter=name in ('kitchen', 'office')

$filter=id in (1001, 1003, 1005)

$filter=contains(name,'kitch')


$top返す行 (ロウ)の最大数。デフォルトは10000。返されるデータよりも多くのデータが利用可能な場合、
結果には RFC5988 ヘッダ値が含まれます。
$top=123
$skip結果セットでスキップする行数 (ロウ)。デフォルトは 0。 $top と組み合わせてページングを行うこともできます。$skip=100

完全なAPIドキュメント

APIはOpen API (以前はSwaggerとして知られていました) と呼ばれる標準フォーマットで記述されています。

APIの基本的な一般ドキュメントは'swagger/default/swagger.json'にあります。
ただし、データベースは機密性が高いため、データベース固有のファイルをすべてスキーマに含むバージョンは'swagger/v1/swagger.json'にありますが、ログインが必要です。

RFC5988

Rfc5988 は、結果セット内のページ間を移動するためのインターネット標準です。基本的にはこのようであり、レスポンスヘッダーに付加データの完全なリンクが含まれています:

XML
<http://localhost/api/database/01/rooms?$skip=1&$top=1>; rel=\"next\">

APIの使用例:

The selected root page could not be found.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.