Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
Info |
---|
現在利用可能なREST サービスの詳細については、開発者サイトをご確認ください。 注意:Yellowfin 本社の提供するサイト(英語)へリンクします。注意: Yellowfin 本社の提供するサイト (英語) へリンクします。 |
概要
Yellowfinは、一般的なREST APIを公開することで、外部の開発者は独自のユーティリティやアプリケーションを作成したり、Yellowfinのシステムやコンテンツと統合したりすることができます。これは、JS API、SOAP API、完全アプリケーション統合などの既存の統合と並行して、または完全にスタンドアローンの統合ツールとして機能します。
このAPIは、レポート、ダッシュボード、プレゼンテーション、ストーリー、シグナル、ディスカッションストリーム、ユーザー、ユーザータイムラインなど、すべての主要なコンテンツタイプの機能を公開します。また、ユーザー管理、カテゴリー管理、インポート/エクスポート、システム構成、ユーザーセッション管理などの機能を提供する管理機能も備えているため、開発者は独自のユーティリティを使用して、Yellowfinシステムを管理および制御できます。
このAPIには、次のような用途があります。
- シグナルやその他のコンテンツを閲覧したり、表示したりするなど、Yellowfinのコンテンツをサードパーティ製アプリケーション内に統合します。また、コンテンツがどのように表示され、ユーザーがどのように対話し、移動するかを制御することができます。
- Web インターフェースにログインすることなく、Yellowfin インスタンスの構成や設定を管理できるサードパーティ製アプリケーションなどの管理ユーティリティを作成します。
- Yellowfin アプリケーションユーザーインタフェースの完全にカスタマイズされた実装を構築し、開発者がアプリケーションの表示方法や操作方法を制御したり、ユーザーやその他の特定の要件に基づいて機能を制限したりできるようにします。
主要な概念
REST APIは、/api ネームスペース配下で利用できます。例:https://yellowfin.myapp.com/api/stories
このスイートには、さらに、このスイートにはRPC (Remote Procedure Call: リモートプロシージャコール) エンドポイントが含まれており、RESTパラダイムに適合するのが難しいワークフローをサポートします。これらは、/api/rpc ネームスペースにある、RPCの呼び出しも含まれます。ネームスペースに配置されています。
すべてのAPIリクエストには、認証ヘッダーが必要です。形式は、以下の通りです。
YELLOWFIN ts=1600224140615, nonce=3370ddc4-37d9-41b9-9f24-ada181fdc4bf, token=securityToken
要素 | 説明 |
YELLOWFIN | カスタム認証スキーマ このテキストは、アプリケーション名と一致する必要があります。これは、カスタムインストーラープロパティファイル、またはYellowfin構成データベースを使用して設定できます。 注意:テキストはスペースを入れずに大文字で記述する必要があります。例えば、アプリケーション名が「YELLOWFIN」ではなく「BigFishReporting」の場合、認証スキーマは「BIGFISHREPORTING」と記述する必要があります。 |
ts | 1970年1月1日午前0時0分0秒(UTC)であるUNIXエポックからのミリ秒単位時刻です。これは、APIを呼び出すプログラムの現在時刻です。すべてのプログラミング言語には、この形式で現在時刻を取得する方法があります。 |
nonce | クライアントにより生成されるランダムUUID |
tokenユーザーを認証し、リソースへのアクセスを許可するために使用されるセキュリティトークン | ユーザーを認証し、リソースへのアクセスを許可するために使用されるセキュリティトークン。 一部のエンドポイントは認証なしでアクセスできるため、すべてのエンドポイントがこの項目を必要とするわけではありません (詳細はこちらを参照してください)。 |
すべてのAPIリクエストには、Accept ヘッダーが必要です。
- このヘッダーは、APIのバージョンを識別するために使用されます。
- その形式は、各endpointのAPIドキュメントで指定されています。通常は次の通りです。applicationその形式は、各エンドポイントのAPIドキュメントで指定されています。大部分のリソースはJSON表現を備えているため、例えばv1 JSONリソースは、application/vnd.yellowfin.api-v1+jsonjsonを必要とします。
- APIは下位互換性があります。v1リソースのリクエストは、Yellowfin インスタンスの現在のAPIバージョンがv2でも動作します。
...
トークン | 説明 |
リフレッシュ | これは、ログイン時に取得される不透明なセキュリティトークンです。リフレッシュトークンは有効期限がなく、アクセストークンを取得するためクライアントアプリケーションに安全に保存される場合があります。 |
アクセス | これはJSON Web Token (JWT)で、20分で有効期限が切れます。アクセストークンは、ほぼすべてのAPIリクエストの認証ヘッダーで送信される必要があります。有効期限が切れると、クライアントアプリケーションは、リフレッシュトークンを使用して、新しいアクセストークンを取得することができます。 |
すべてのAPIリソースは、ひとつ以上の「すべてのAPIレスポンスは、ひとつの「_links」オブジェクトを持ちます。「_links」オブジェクトを持ちます。links」オブジェクトには、ひとつまたは複数のリンクオブジェクトを含めることもできます。
- すべてのリンクは、ユーザーがアクセスできる関連リソースを表します。
- クライアントは、アプリケーションコードでハードコーディングするのではなく、href属性のリンクを使用して、リソースにアクセスします。
- 「options」配列は、ユーザーがリンクの使用を許可されているHTTPメソッドを示します。例えば、下の例では、ユーザーはコメントリストを読むことができる(GET)、または新しいコメントを作成できる(POST)ことを示しています。すべてのコメントを削除することはできないため、「comments」リンクでDELETEを利用できません。
APIの使用
REST APIの呼び出しは、以下のカテゴリーにグループ化されることがあります。
- ログイン - 新しいリフレッシュトークンを作成します。
- アクセストークン - ユーザーにREST APIリソースへのアクセスを許可するために使用します。
- ログアウト - リフレッシュトークンを削除します。
- リソースのリクエスト - REST APIを使用して、実際にデータを取得します。
ログイン(リフレッシュトークンの作成)
セッションではなく、リフレッシュトークンを使用してユーザーを識別します。使用者は、他のREST endpointを使用する前に、リフレッシュトークンを作成して、アクセストークンを取得する必要があります。リフレッシュトークンの作成は、ログインプロセスと考えることができます。
...
Note |
---|
クライアントアプリケーションは、これらのトークンを安全に保存しなくてはいけません。ログアウトに必要になるため、「self」リンクも保存します。 |
アクセストークン
アクセストークンの作成は、リフレッシュトークン作成のプロセスとほぼ同じです。作成時には、以下を確認します。
- HTTP操作にPOSTを選択します。
- アクセストークンendpointのURLを使用します。
- リフレッシュトークンリクエストと同様のヘッダーを使用します。
- 認証ヘッダーは、リフレッシュトークンを「token」という名前のプロパティで指定しなくてはいけません。
Tip |
---|
リフレッシュトークンの応答はアクセストークンを提供し、ログイン後にAPIの利用を開始しやすくします。 |
ログアウト(リフレッシュトークンの削除)
POST /refresh-tokens リクエストの応答には、REST APIから効果的に「ログアウト」するために必要な情報、つまりリフレッシュトークンを削除するために必要な情報が含まれています。POST /refresh-tokens リクエストの応答には、_links プロパティが含まれています。
「self」リンクのオプション配列には、新しいリフレッシュトークンで実行できる操作が表示されます。DELETEはひとつだけ必要です。DELETE /refresh-tokensを呼び出すと、REST APIから効果的にユーザーをログアウトさせます。
この操作を実行するには、有効なアクセストークンが必要です。これは、認証ヘッダーのtokenプロパティに含まれていなくてはいけません。
リソースのリクエスト
リソースのリクエストをするには、API クライアントに有効なアクセストークンが必要です。各endpointに指定する必要のあるヘッダー、必須およびオプションパラメーターについては、APIドキュメントを参照してください。
Web SSO
APIの一般的な使用例は、Web SSOです。ログイントークンの生成には、2つのAPI endpointを使用できます。生成されたトークンを使用して、Yellowfinのブラウザインターフェースにログインできます。これを行う最も簡単な方法は、RPC endpoint POST / longin-tokens/create-sso-tokenを使用することです。
...
トラブルシューティング
...
- Error 500 Internal Server Error - これは、サーバ上で何か問題が発生したことを示す一般的なエラーメッセージです。詳細については、サーバログにあるエラートレースをサポートに連絡してください。
現在利用可能なREST サービスの詳細については、開発者サイトをご確認ください。
注意:Yellowfin 本社の提供するサイト(英語)へリンクします。一部のAPIレスポンスは「_embedded」オブジェクトを持ちます。このオブジェクトには、現在のリソースに関連する追加の有用な情報を含むサブオブジェクトを含めることができますが、そのリソースには直接属しません。これらは、独自のプロパティとリンクを持つ個別のリソースです。
...