Document toolboxDocument toolbox

dRofus REST API 概要

このドキュメントは、dRofus REST API を使用して、特定のデータベースからデータを取得するための参考資料を示すものです。
データベース管理 REST API については、こちらを参照してください: 管理システム REST API

このAPIは、APIを記述したOpen API 仕様を提供しています。また、このAPIを探索し、ブラウザ上で試すことができる
インタラクティブなGUIも用意しています。データベース/プロジェクト特有のプロパティを取得する方法を公開し、
文書化しているため、文書を参照するにはログインする必要があります。下記の認証を参照してください。

フィードバックを提供

APIをどのような用途でお使いになりたいか、ご遠慮なくお問い合わせください。

URLS

APIは現在、以下の場所に配備されています。今後も増える予定です。APIドキュメントはプロジェクト特有のプロパティを
公開するので、それを見るにはログインする必要があります。 dRofusのユーザー名とパスワードを使用して、
接続する方法については、以下の、dRofus REST API#認証 のセクションをご参照ください。

URL

Swagger Gui

Swagger JSON

備考

URL

Swagger Gui

Swagger JSON

備考

https://api-no.drofus.com

APIドキュメントを作成し、Web GUIでテスト

Open API Specification

db2.nosyko.no のプロジェクトで使用。

https://api-eu.drofus.com

dRofus API Swagger UI

Open API Specification

 

https://api-ca.drofus.com

APIドキュメントを作成し、Web GUIでテスト

Open API Specification

 

https://api-us.drofus.com

APIドキュメントを作成し、Web GUIでテスト

Open API Specification

 

https://api-au.drofus.com/

APIドキュメントを作成し、Web GUIでテスト

Open API Specification

 

認証

ベアラ

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) で送信する必要があります。

Authorization: Reference <API-key>

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

Authorization: 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)" だけを使用して複数のフィルタを組み合わせることができます。

操作:

 

$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は、結果セットのページ間をナビゲートするためのインターネット標準です。基本的にはこのようなもので、
レスポンスヘッダに追加データの完全なリンクが含まれています:

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

 

使用例

APIの使用例です:

例 - エクセル
例 - PowerBI