Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top

...

Expand
titleLOGINUSER(シングルサインオン)

このサービスは、Yellowfinに接続し、指定されたユーザーのログオントークンを取得します。このトークンがYellowfinログオンURLに渡されると、認証されるユーザーのログイン画面が無効化され、そのユーザーのセッションがただちに開始されます。

Code Block
AdministrationServiceResponse rs = null;
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
   
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setFunction("LOGINUSER");
     
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");
ap.setPassword("test");
rsr.setPerson(ap);
     
rs = rssbs.remoteAdministrationCall(rsr);
    
if ("SUCCESS".equals(rs.getStatusCode()) ) {
				
	out.write("Success");
	out.write("URL:  http://<yellowfin-server>/logon.i4?LoginWebserviceId=" + rs.getLoginSessionId()); 
                			
} else {
			
	out.write("Failure");
				
}

LOGINUSER関数は、指定されたユーザーをYellowfinにシングルサインオンさせます。AdministrationPersonオブジェクトの内容は、ログインしているユーザーを定義するために使用されます。

リクエスト要素

データ型

説明

LoginId

String

Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。

Password

String

Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。

OrgId

Integer

Yellowfin内のデフォルト組織ID。常に1に設定します。

Function = “LOGINUSER”

 

Webサービス関数。

Person

AdministrationPerson

ユーザー作成プロセスに関する新規ユーザーの詳細すべてを保持するAdministrationPersonオブジェクト。

OrgRef

String

クライアント組織の内部参照ID(オプション)。ユーザーを指定されたクライアント組織にログインさせます。設定しない場合は、ユーザーのログオン時に「クライアント組織の選択」ページが表示されます。

AdministrationPersonオブジェクトで設定が必要なパラメーターは、以下の通りです。

AdministrationPerson要素

データ型

説明

UserId

String

ログインするユーザーのユーザーID。これは、ログインIDの方法に応じてユーザーIDまたは電子メールアドレスにすることができます。

Password

String

新規ユーザーのパスワード。

返される応答には、以下のパラメーターが含まれます。

応答要素

データ型

説明

StatusCode

String

Webサービス呼び出しのステータス。可能な値は以下の通りです。

  • SUCCESS
  • FAILURE

LoginSessionId

String

一意のログイントークン。このトークンはログインURLに付加され、ユーザーをYellowfinに直接移動させます。

ログイントークンを使用したYellowfinへのリダイレクト

Webサービス呼び出しから受信したトークン(AdministrationResponse.LoginSessionIdの内容)を使用して、ユーザーを以下のURLに転送できます:

http://<YELLOWFIN-SERVER>/logon.i4?LoginWebserviceId=<TOKEN>

このURLを使用することにより、Yellowfinの認証画面がバイパスされ、ユーザーはYellowfinに直接移動します。

トークンには有効期限があります。5分以内に使用する必要があり、いったん使用すると再利用はできません。その後、サードパーティのアプリケーションからYellowfinに呼び出しを行うときは、LOGINUSER Webサービスを再度呼び出す必要があります。

JavaScript APIでのトークンの使用

埋め込みJavaScript APIウィジェットでSSO(シングルサインオン)トークンを使用することもできます。トークンは、次のようにスクリプトレットURLに追加されます:

<script type="text/javascript" src="http://localhost/JsAPI?dashUUID=e9a6ab0a-bcb0-4fe6-9663-4dd33e58f08e&token=<TOKEN>"></script>

セッションオプションの指定

このシングルサインオンリクエストを介して作成されるセッションに対してのみ機能を切り替える変数/スイッチを渡すことができます。このようなオプションを有効にするには、AdministrationRequestでParameters属性を使用して渡すか、またはリダイレクトURLに付加します。

パラメーターは、以下のようにキー値ペアのリストとしてAdministrationRequest.Parameters属性に追加されます:

YFTOOLBAR=TRUE

ENTRY=DASHBOARD

ログインURLで渡されるオプションは次のようになります:

http://<yellowfin-server>/logon.i4?LoginWebserviceId=<token>&yftoolbar=true&entry=DASHBOARD

使用可能なオプションの一覧を以下に示します:

パラメーターオプションキー

URLオプションキー

説明

YFTOOLBAR

yftoolbar

TRUE/FALSE。このセッションのYellowfinツールバーを隠します。

ENTRY

entry

ログインプロセスを完了するためのユーザーの唯一の起点を指定します。ほかのパラメーターとともに使用して、ユーザーに表示される内容を指定します。可能な値:

  • DASHBOARD
  • REPORTLIST
  • BROWSE
  • BROWSETAB
  • CREATEREPORT
  • EDITREPORT
  • VIEWREPORT
  • ADMINISTRATION
  • EDITDASHBOARD
  • VIEWDASHBOARD
  • VIEWSTORYBOARD
  • TIMELINE

REPORTID

reportid

ENTRY = EDITREPORTまたはVIEWREPORTとともに使用します。これは、リダイレクト先レポートの内部IDです。

REPORTUUID

reportuuid

ENTRY = EDITREPORTまたはVIEWREPORTとともに使用します。これは、リダイレクト先レポートのUUIDです。

STORYBOARDUUID

storyboarduuid

ENTRY = VIEWSTORYBOARDとともに使用します。これは、リダイレクト先ストーリーボードのUUIDです。

MOBILEDEVICE

mobiledevice

TRUE/FALSE。ユーザーをYellowfinインターフェースのモバイルバージョンに移動させます。

REPORTNAME

reportname

ENTRY = EDITREPORTまたはVIEWREPORTとともに使用します。これは、リダイレクト先レポートの名前です。

DISABLESOURCEFILTERS

 

TRUE/FALSE。このセッションにおけるこのユーザーのソースフィルターまたはクライアント参照フィルターを無効化します。こうすると、ユーザーはすべてのデータを表示できます。クライアントソースに基づくコンテンツには効果がありません。

DISABLEHEADER

disableheader

TRUE/FALSE。このセッションのYellowfinヘッダーを隠します。

HIDEHEADER

hideheader

DISABLEHEADERと同じです。

DISABLEFOOTER

disablefooter

TRUE/FALSE。このセッションのYellowfinフッターを隠します。

HIDEFOOTER

hidefooter

DISABLEFOOTERと同じです。

DISABLESIDENAV

disablesidenav

TRUE/FALSE。このセッションのYellowfin側のナビゲーションを隠します。

HIDESIDENAV

hidesidenav

DISABLESIDENAVと同じです。

DISABLELOGOFF

disablelogoff

TRUE/FALSE。このセッションのYellowfinログオフリンクを隠します。

HIDELOGOFF

hidelogoff

DISABLELOGOFFと同じです。

REASONCODE

reasoncode

このセッションで生成されるすべてのイベントに記録されるカスタム文字列(80文字のASCII文字)。イベントは、Yellowfinデータベースのイベントテーブルに記録されます。
このオプションは、JavaScript APIで使用することもできます。

REASONDESCRIPTION

reasondescription

このセッションで生成されるすべてのイベントに記録されるカスタム文字列(2048文字のASCII文字)。イベントは、Yellowfinデータベースのイベントテーブルに記録されます。
このオプションは、JavaScript APIで使用することもできます。

DASHBOARDID

dashboardid

ENTRY = EDITDASHBOARDまたはVIEWDASHBOARDとともに使用します。これは、リダイレクト先ダッシュボードタブの内部IDです。

DASHBOARDUUID

dashboarduuid

ENTRY = EDITDASHBOARDまたはVIEWDASHBOARDとともに使用します。これは、リダイレクト先ダッシュボードタブの内部IDです。

FILTER<ID>

filter<ID>

ENTRY = VIEWREPORTとともに使用します。指定されたレポートのフィルター値を上書きします。FILTERにはフィルターの内部IDを付加し、その後にフィルター値の文字列表現が続きます。例:
FILTER2134=MALE
1つのレポートで複数のフィルターを渡すことができます。

SOURCEFILTER_<FILTERCODE>

 

このセッションのこのユーザーのソースフィルター値を上書きします。
SOURCEFILTER_には「ソースフィルター」設定ページの「フィルタータイプコード」を付加し、その後にアクセスできるようにする値を続けます。例:
SOURCEFILTER_COUNTRY=AU
1つのセッションで複数のソースフィルター値を渡すことができます。
このオプションは、JavaScript APIで使用することもできます。

CONTENT_<INCLUDE/EXCLUDE>

 

このセッションでユーザーが持つコンテンツアクセス権を上書きします。CONTENT_にはINCLUDEまたはEXCLUDEを付加します。このキーの値は、コンテンツカテゴリーコードまたはコンテンツカテゴリーUUIDです。
コンテンツの組み入れ(INCLUDE)を選択した場合、これらはユーザーがアクセスできるようにするコンテンツカテゴリーのみになります。
コンテンツの除外(EXCLUDE)を選択した場合、これらの除外コンテンツカテゴリーは、ユーザーが通常アクセスできるコンテンツから削除されます。
コンテンツの組み入れおよび除外は、カテゴリーレベルに基づきます。指定したカテゴリーのすべてのサブカテゴリーが組み入れまたは除外されます。
カテゴリーのコードおよびUUIDを使用した組み入れ/除外の例:
CONTENT_INCLUDE=TUTORIAL
CONTENT_INCLUDE=c83357db-8aef-4ec7-ab72-fce34de9ee77
CONTENT_EXCLUDE=TUTORIAL
CONTENT_EXCLUDE=c83357db-8aef-4ec7-ab72-fce34de9ee77
同じセッションでINCLUDEEXCLUDEの両方を使用することは論理的ではありません。
このオプションは、JavaScript APIで使用することもできます。

Expand
titleLOGINUSERNOPASSWORD(シングルサインオン)

このサービスは、LOGINUSERと完全に互換がありますが、ログインするユーザーのパスワードが必要ありません。

オプションはLOGINUSERと同じですが、以下の点が異なります:

  1. AdministrationRequest.FunctionはLOGINUSERNOPASSWORDに設定されます
  2. AdministrationPerson.Passwordは空にできます

この機能を有効にするには、Yellowfinデータベースの設定テーブルに追加のパラメーターを追加する必要があります:

IpOrg

ConfigTypeCode

ConfigCode

ConfigData

1

SYSTEM

SIMPLE_AUTHENTICATION

TRUE

データベースの変更を有効にするために、Yellowfinの再起動が必要になることがあります。

この設定オプションがYellowfinに追加されていない場合は、Webサービスエラー26: UNSECURE_LOGIN_NOT_ENABLEDが発生します。

ユーザーの複製および管理

ユーザーの複製では、OEMアプリケーション内の各ユーザーとYellowfin内の名前付きユーザーが同期されます。ユーザーの複製とは、OEMアプリケーション内の各ユーザーをYellowfinのユーザーに同期させることを指します。

これにより、Yellowfinでは、ログインしているユーザーを識別し、必要となる制限がある場合はその制限を適用することができます。通常、同期はOEMアプリケーションからYellowfinへのWebサービス呼び出しを使用して行われます。これは、OEMアプリケーションのユーザーが概して静的である場合には、手動で管理することもできます。

...

Webサービス呼び出しを使用して、グループとロールを作成および変更することができます。応答で返されるオブジェクトは、リクエストで実行される呼び出しのタイプに依存します。

注意:クライアント組織機能を「システム設定ページでオンにしている場合、特定のタイプの呼び出しについて適用可能な場合はクライアント組織を指定することもできます。

...

Expand
titleCREATEGROUP

以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinに指定されたグループを作成します。

Code Block
AdministrationServiceRequest rsr = new AdminstrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();

group.setGroupName("Group Name");
group.setGroupDescription("Group Description");

rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to create the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("CREATEGROUP");
rsr.setGroup(group);

rs = AdministrationService.remoteAdministrationCall(rsr);

このコードはrs.getStatusCode()SUCCESSを返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。

注意:AdministrationPersonオブジェクトのAdministrationGroupMember配列に入力することによって、新規作成されたグループに既存のYellowfinユーザーを同時に配置することもできます。各AdministrationPersonオブジェクトに必要なのはLoginId変数セットのみであり、AdministrationGroupMember配列はgroup.setGroupMembers()に保存されます。

この関数はYellowfinグループを作成します。この関数では、新規グループに既存のYellowfinユーザーを保存できる点にも注意してください。

リクエスト要素

データ型

説明

LoginId

String

Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。

Password

String

Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。

OrgId

Integer

Yellowfin内のデフォルト組織ID。常に1に設定します。

Function = “CREATEGROUP”

String

Webサービス関数。

OrgRef

String

この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。

Group

AdministrationGroup

取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。

AdministrationGroupオブジェクトで設定が必要なパラメーターは、以下の通りです。

AdministrationGroup要素

データ型

説明

GroupName

String

指定したYellowfinグループの名前

GroupDescription

String

指定したYellowfinグループの説明

GroupMembers

Array(AdministrationPerson)

AdministrationPersonオブジェクトの配列。これはオプションのパラメーターで、既存のYellowfinユーザーをこのグループに保存するよう設定することができます。このシナリオの場合、AdministrationPersonオブジェクトに必要なのは、オブジェクトごとにそのUserIdパラメーターを設定することだけです。

返される応答には、以下のパラメーターが含まれます。

応答要素

データ型

説明

StatusCode

String

Webサービス呼び出しのステータス。可能な値は以下の通りです。

  • SUCCESS
  • FAILURE

...

Expand
titleEXCLUDEUSERINGROUP

以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinの指定されたグループから指定されたユーザーを除外します。

注意:このユーザーはグループから削除されるのではなく、グループ定義から除外されるだけです。これが役立つのは、たとえば以下のような場合です。

  • John DoeはグループAのメンバーである
  • グループAはグループBのメンバーである
  • John DoeはグループBのメンバーであってはならないため、グループBから除外する必要がある
Code Block
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();
AdministrationPerson person = new AdministrationPerson();

group.setGroupName("Group Name");
person.setUserId("test@yellowfin.com.au");

rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to get the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("EXCLUDEUSERINGROUP");
rsr.setGroup(group);
rsr.setPerson(person);

rs = AdministrationService.remoteAdministrationCall(rsr);

このコードはrs.getStatusCode()SUCCESSを返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。

この関数は、指定されたグループから指定されたYellowfinユーザーを除外します。このユーザーはグループから削除されるのではなく、グループ定義から除外されるだけである点に注意してください。これが役立つのは、たとえば以下のような場合です。

  • John DoeはグループAのメンバーである
  • グループAはグループBのメンバーである
  • John DoeはグループBのメンバーであってはならないため、グループBから除外する必要がある

リクエスト要素

データ型

説明

LoginId

String

Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。

Password

String

Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。

OrgId

Integer

Yellowfin内のデフォルト組織ID。常に1に設定します。

Function = “EXCLUDEUSERINGROUP”

String

Webサービス関数。

OrgRef

String

この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。

Group

AdministrationGroup

取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。

Person

AdministrationPerson

取得プロセスに関するYellowfinユーザーのユーザーIDを保持するAdministrationPersonオブジェクト。

AdministrationGroupおよびAdministrationPersonオブジェクトで設定が必要なパラメーターは、以下の通りです。

AdministrationGroup要素

データ型

説明

GroupName

String

指定したYellowfinグループの名前

AdministrationPerson要素

データ型

説明

UserId

String

YellowfinユーザーのユーザーID。これは、ログインIDの方法に応じてユーザーIDまたは電子メールアドレスにすることができます。

返される応答には、以下のパラメーターが含まれます。

応答要素

データ型

説明

StatusCode

String

Webサービス呼び出しのステータス。可能な値は以下の通りです。

  • SUCCESS
  • FAILURE

...

Expand
titleMODIFYGROUP

以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinの指定されたグループを変更します。

Code Block
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();

group.setGroupName("Group Name");

rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to get the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("MODIFYGROUP");
rsr.setGroup(group);

rs = AdministrationService.remoteAdministrationCall(rsr);

このコードはrs.getStatusCode()SUCCESSを返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。

注意:AdministrationPersonオブジェクトのAdministrationGroupMember配列を投入することによって、変更されたグループに既存のYellowfinユーザーを同時に配置することもできます。各AdministrationPersonオブジェクトに必要なのはLoginId変数セットのみであり、AdministrationGroupMember配列はgroup.setGroupMembers()に保存されます。

この関数はYellowfinの指定されたグループの詳細を変更します。この関数では、新規グループに既存のYellowfinユーザーを保存できる点にも注意してください。

リクエスト要素

データ型

説明

LoginId

String

Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。

Password

String

Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。

OrgId

Integer

Yellowfin内のデフォルト組織ID。常に1に設定します。

Function = “MODIFYGROUP”

String

Webサービス関数。

OrgRef

String

この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。

Group

AdministrationGroup

取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。

AdministrationGroupオブジェクトで設定が必要なパラメーターは、以下の通りです。

AdministrationGroup要素

データ型

説明

GroupName

String

指定したYellowfinグループの名前

GroupDescription

String

指定したYellowfinグループの説明

GroupMembers

Array(AdministrationPerson)

AdministrationPersonオブジェクトの配列。これはオプションのパラメーターで、既存のYellowfinユーザーをこのグループに保存するよう設定することができます。このシナリオの場合、AdministrationPersonオブジェクトに必要なのは、オブジェクトごとにそのLoginIdパラメーターを設定することだけです。

返される応答には、以下のパラメーターが含まれます。

応答要素

データ型

説明

StatusCode

String

Webサービス呼び出しのステータス。可能な値は以下の通りです。

  • SUCCESS
  • FAILURE

...