User Management APIs
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

アカウントAPIの基本

Liferay DXP/Portal 7.4以降

アプリケーションメニューから アカウント を管理するか、LiferayのREST APIを使用できます。 アカウントの作成と管理については、以下のサービスにお問い合わせください。

アカウントの追加

Liferay DXP の新しいインスタンスを起動するには、以下を実行します。

docker run -it -m 8g -p 8080:8080 liferay/dxp:2026.q1.9-lts

http://localhost:8080 に、メールアドレス test@liferay.com とパスワード test を使用して Liferay にサインインします。 プロンプトが表示されたら、パスワードを learn に変更してください。

次に、以下の手順に従います。

  1. Accounts API Basics をダウンロードして解凍します。

    curl https://resources.learn.liferay.com/examples/liferay-t5p9.zip -O
    
    unzip liferay-t5p9.zip
    
  2. cURLスクリプトを使用して、インスタンスに新しいアカウントを追加します。 コマンドラインで、 curl フォルダーに移動します。 Accounts_POST_ToInstance.sh スクリプトを実行します。

    ./Accounts_POST_ToInstance.sh
    

    JSONレスポンスには、新しいアカウントが追加されたことが示されています。

    {
      "説明" : "Foo"、
      "ドメイン" : [ ]、
      "外部参照コード" : ""、
      "id" : 39302、
      "name" : "Able"、
      "numberOfUsers" : 0、
      "organizationIds" : [ ],
      "parentAccountId" : 0,
      "status" : 0,
      "type" : "business"
    }
    
  3. グローバルメニュー → コントロールパネル → アカウント に移動します。 新しいアカウントが追加されていることを確認してください。

    新しいアカウントが追加されていることを確認してください。

  4. RESTサービスはJavaクライアントを使用して呼び出すこともできます。 curl フォルダから java フォルダに移動します。 以下のコマンドを使用してソースファイルをコンパイルしてください。

    javac -classpath .:* *.java
    
  5. 以下のコマンドで Accounts_POST_ToInstance.java クラスを実行します。

    java -classpath .:* Accounts_POST_ToInstance
    

cURLコマンドを調べてみましょう

Accounts_POST_ToInstance.sh スクリプトは、cURL コマンドを使用して REST サービスを呼び出します。

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts" \
	--data-raw '
		{
			"description": "Foo",
			"name": "Able"
		}' \
	--header "Content-Type: application/json" \
	--request "POST" \
	--user "test@liferay.com:learn"

コマンドの引数は以下のとおりです。

引数説明
--header "Content-Type: application/json"リクエストボディのフォーマットがJSONであることを示します。
--リクエストPOST指定されたエンドポイントで起動するHTTPメソッド
"http://localhost:8080/o/headless-admin-user/v1.0/accounts"RESTサービスのエンドポイント
--data-raw '{ "description": "Foo", "name": "Able"}'お客様が掲載を希望するデータ
--user "test@liferay.com:learn"基本的な認証情報
注記

ここでは、デモンストレーション目的で基本認証を使用しています。 本番環境では、 OAuth2 を介してユーザーを認証する必要があります。 OAuth2 を使用する React アプリケーションの例については、 OAuth2 を使用してユーザーを認証する を参照してください。

他のcURLコマンドも同様のJSON引数を使用します。

Javaクラスを調べます

Accounts_POST_ToInstance.java クラスは、 AccountResource サービスを呼び出すことでアカウントを追加します。

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	Account account = accountResource.postAccount(
		new Account() {
			{
				description = "Foo";
				name = "Fox";
			}
		});

	System.out.println(account);
}

このクラスは、わずか3行のコードでRESTサービスを呼び出します。

行(省略形)説明
AccountResource.Builder builder = ...Builder を取得して、 AccountResource サービス インスタンスを生成します。
AccountResource accountResource = builder.authentication(...).build();ベーシック認証を指定し、 AccountResource サービスインスタンスを生成します。
Account account = accountResource.postAccount(...);accountResource.postAccount メソッドを呼び出し、データをpostに渡します。

プロジェクトには com.liferay.headless.admin.user.client.jar ファイルが依存関係として含まれていることに注意してください。 すべての REST アプリケーションのクライアント JAR 依存関係情報は、インストール先の API エクスプローラーの /o/api で確認できます。

注記

main メソッドのコメントは、クラスを実行する方法を示しています。

他の例の Java クラスはこれに似ていますが、異なる AccountResource メソッドを呼び出します。

重要

サービスの詳細については、 AccountResource を参照してください。

以下は、cURLとJavaを使用して他の アカウント RESTサービスを呼び出す例です。

インスタンスからアカウントを取得する

以下のcURLコマンドまたはJavaコマンドを実行することで、アカウントの一覧を表示できます。

Accounts_GET_FromInstance.sh

コマンド:

./Accounts_GET_FromInstance.sh

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts" \
	--user "test@liferay.com:learn"

Accounts_GET_FromInstance.java

コマンド:

java -classpath .:* Accounts_GET_FromInstance

コード:

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	Page<Account> page = accountResource.getAccountsPage(
		null, null, Pagination.of(1, 2), null);

	System.out.println(page);
}

インスタンスの アカウント オブジェクトが JSON で表示されます。

アカウントグループのフィルタリング、ページネーション、およびソート

このAPIは、アカウントのフィルタリング、ページネーション、およびソートを行うためのパラメータも受け付けます。 詳細については、 getAccountsPage メソッドを参照してください。 クエリで以下の アカウント フィールドを使用すると、結果をフィルタリングおよびソートできます。

  • Liferay DXP 2025.Q1+/Portal GA132+customFields
  • 作成日
  • 更新日
  • 名前
  • 状態
  • 組織ID
  • タイプ
フィルタークエリ説明
名前が「Foo」と等しいアカウント名は ‘Foo' と等しくなければなりません
customFields/orgSize eq '100.0'という名前のカスタムフィールド orgSize は 100 に等しい
ソートクエリ説明
更新日時:説明dateModified で降順に並べ替え
名前:説明名前 で降順に並べ替え
注記

スペースを含まないカスタムフィールドのみ使用できます。

詳細については、 APIクエリパラメータ をお読みください。

アカウントを作成する

以下のcURLまたはJavaコマンドを使用して、特定のアカウントを取得します。 注: 1234 をアカウントの ID に置き換えてください。

ヒント

Accounts_GET_FromInstance.[java|sh] を使用して、インスタンス アカウント ID を取得します。

Accounts_GET_ById.sh

コマンド:

./Accounts_GET_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}" \
	--user "test@liferay.com:learn"

Accounts_GET_ById.java

コマンド:

java -classpath .:* -DaccountId=1234 Accounts_GET_ById

コード:

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	System.out.println(
		accountResource.getAccount(
			Long.valueOf(System.getProperty("accountId"))));
}

アカウント フィールドは JSON に表示されます。

アカウントをパッチする

以下のcURLコマンドとJavaコマンドを使用して、既存のアカウントを部分的に編集します。 注: 1234 をアカウントのIDに置き換えてください。

Accounts_PATCH_ById.sh

コマンド:

./Accounts_PATCH_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}" \
	--data-raw '
		{
			"description": "Bar"
		}' \
	--header "Content-Type: application/json" \
	--request "PATCH"	 \
	--user "test@liferay.com:learn"

Accounts_PATCH_ById.java

コマンド:

java -classpath .:* -DaccountId=1234 Accounts_PATCH_ById

コード:

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	Account account = accountResource.patchAccount(
		Long.valueOf(System.getProperty("accountId")),
		new Account() {
			{
				description = "Bar";
			}
		});

	System.out.println(account);
}

アカウントを作成する

以下のcURLコマンドとJavaコマンドを使用して、既存のアカウントを完全に上書きします。 注: 1234 をアカウントの ID に置き換えてください。

Accounts_PUT_ById.sh

コマンド:

./Accounts_PUT_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}" \
	--data-raw '
		{
			"description": "Goo",
			"name": "Baker"
		}' \
	--header "Content-Type: application/json" \
	--request "PUT" \
	--user "test@liferay.com:learn"

Accounts_PUT_ById.java

コマンド:

java -classpath .:* -DaccountId=1234 Accounts_PUT_ById

コード:

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	Account account = accountResource.putAccount(
		Long.valueOf(System.getProperty("accountId")),
		new Account() {
			{
				description = "Goo";
				name = "George";
			}
		});

	System.out.println(account);
}

アカウントを削除する

以下のcURLコマンドとJavaコマンドを使用して、既存のアカウントを削除します。 注: 1234 をアカウントの ID に置き換えてください。

アカウント削除(ID別).sh

コマンド:

./Accounts_DELETE_ById.sh 1234

コード:

curl \
	"http://localhost:8080/o/headless-admin-user/v1.0/accounts/${1}" \
	--request "DELETE" \
	--user "test@liferay.com:learn"

Accounts_DELETE_ById.java

指示

java -classpath .:* -DaccountId=1234 Accounts_DELETE_ById

コード:

public static void main(String[] args) throws Exception {
	AccountResource.Builder builder = AccountResource.builder();

	AccountResource accountResource = builder.authentication(
		"test@liferay.com", "learn"
	).build();

	accountResource.deleteAccount(
		Long.valueOf(System.getProperty("accountId")));
}

API Explorer には、すべての アカウント サービスとスキーマが表示され、各サービスを試すためのインターフェースがあります。

注記

PostalAddress_POST_ToAccount および PostalAddresses_GET_FromAccount を使用して、アカウントの郵便住所を作成および取得します。

バッチエンジンによるアカウント管理

Accounts API は、 com.liferay.headless.admin.user.dto.v1_0.Account エンティティ クラス名を使用して、Liferay インスタンス間でアカウントを移行するためのバッチ エクスポートとインポートをサポートしています。

バッチ エンジンの使用方法の詳細については、 バッチ エンジン API を使用したデータのエクスポート および バッチ エンジン API を使用したデータのインポート を参照してください。