BlockletServiceは、Blockletが基盤となるABT Nodeサービスと対話するための主要なインターフェースとして機能する強力なクライアントです。複雑なGraphQLクエリとHTTPリクエストを、クリーンでPromiseベースのJavaScript APIにラップすることで、ユーザー管理、セッション処理、ロールベースのアクセス制御(RBAC)、Blockletメタデータの取得などのタスクを簡素化します。
このサービスは、Blockletプラットフォームの全能力を活用する、安全で機能豊富なアプリケーションを構築するために不可欠です。このサービスを詳しく見る前に、認証ガイドで説明されている概念を理解しておくと役立ちます。
仕組み
アプリケーション内のBlockletServiceクライアントは、ABT Node上で実行されているblocklet-serviceと通信します。すべてのリクエストはBlockletのクレデンシャルを使用して自動的に認証され、コア機能への安全なアクセスを保証します。

はじめに
サービスを使用するには、インポートしてインスタンス化するだけです。クライアントは、Blocklet Serverから提供される環境変数に基づいて自動的に自身を設定します。
はじめに
import BlockletService from '@blocklet/sdk/service/blocklet';
const client = new BlockletService();
async function main() {
const { user } = await client.getOwner();
console.log('Blockletの所有者:', user.fullName);
}
main();セッション管理
login
ユーザーを認証し、セッションを開始します。
パラメータ
- params
object(required) — ログインクレデンシャルまたはデータ。
戻り値
- Promise
Promise<object>— セッションとユーザー情報を含むオブジェクト。- user
object— 認証されたユーザーのプロファイル。 - token
string— セッションのアクセストークン。 - refreshToken
string— セッションを延長するためのリフレッシュトークン。 - visitorId
string— 訪問者/デバイスの一意の識別子。
- user
refreshSession
リフレッシュトークンを使用して期限切れのセッションを更新します。
パラメータ
- refreshToken
string(required) — 以前のセッションからのリフレッシュトークン。 - visitorId
string— 訪問者/デバイスの一意の識別子。
戻り値
- Promise
Promise<object>— 新しいセッションとユーザー情報を含むオブジェクト。- user
object— 認証されたユーザーのプロファイル。 - token
string— 新しいアクセストークン。 - refreshToken
string— 新しいリフレッシュトークン。 - provider
string— ログインプロバイダー(例:「wallet」)。
- user
switchProfile
ユーザーのプロファイル情報を更新します。
パラメータ
- did
string(required) — 更新するユーザーのDID。 - profile
object(required) — 更新するプロファイルフィールドを含むオブジェクト。- avatar
string— 新しいアバターURL。 - email
string— 新しいメールアドレス。 - fullName
string— 新しいフルネーム。
- avatar
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
ユーザー管理
getUser
DIDによって単一ユーザーのプロファイルを取得します。
パラメータ
- did
string(required) — 取得するユーザーの一意のDID。 - options
object— クエリのオプション設定。- enableConnectedAccount
boolean— trueの場合、ユーザーの接続済みアカウント(例:OAuthプロバイダー)に関する詳細を含めます。 - includeTags
boolean— trueの場合、ユーザーに関連付けられたタグを含めます。
- enableConnectedAccount
戻り値
- ResponseUser
Promise<object>— ユーザーのプロファイルを含むオブジェクト。- user
object— ユーザープロファイルオブジェクト。
- user
getUsers
フィルタリングとソートをサポートする、ページ分割されたユーザーリストを取得します。
パラメータ
- args
object— クエリ、ソート、ページネーションのオプションを含むオブジェクト。- paging
object— ページネーションオプション。- page
number— 取得するページ番号。 - pageSize
number— ページあたりのユーザー数。
- page
- query
object— フィルタリング基準。- role
string— ユーザーロールでフィルタリング。 - approved
boolean— 承認ステータスでフィルタリング。 - search
string— ユーザーフィールドと照合するための検索文字列。
- role
- sort
object— ソート基準。- updatedAt
number— 更新タイムスタンプでソート。1は昇順、-1は降順。 - createdAt
number— 作成タイムスタンプでソート。1は昇順、-1は降順。 - lastLoginAt
number— 最終ログインタイムスタンプでソート。1は昇順、-1は降順。
- updatedAt
- paging
戻り値
- ResponseUsers
Promise<object>— ページ分割されたユーザーオブジェクトのリスト。- users
TUserInfo[]— ユーザープロファイルオブジェクトの配列。 - paging
object— ページネーション情報。- total
number— ユーザーの総数。 - pageSize
number— ページあたりのユーザー数。 - page
number— 現在のページ番号。
- total
- users
getUsersCount
ユーザーの総数を取得します。
戻り値
- ResponseGetUsersCount
Promise<object>— ユーザー総数を含むオブジェクト。- count
number— ユーザーの総数。
- count
getUsersCountPerRole
各ロールのユーザー数を取得します。
戻り値
- ResponseGetUsersCountPerRole
Promise<object>— ロールごとのユーザー数を含むオブジェクト。- counts
TKeyValue[]— 各オブジェクトがkey(ロール名) とvalue(ユーザー数) を持つオブジェクトの配列。
- counts
getOwner
Blockletの所有者のプロファイルを取得します。
戻り値
- ResponseUser
Promise<object>— 所有者のユーザープロファイルを含むオブジェクト。
updateUserApproval
ユーザーのBlockletへのアクセスを承認または取り消します。
パラメータ
- did
string(required) — 更新するユーザーのDID。 - approved
boolean(required) — 承認するにはtrue、取り消すにはfalseに設定します。
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
updateUserTags
ユーザーに関連付けられたタグを更新します。
パラメータ
- args
object(required)- did
string(required) — ユーザーのDID。 - tags
number[](required) — ユーザーに関連付けるタグIDの配列。
- did
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
updateUserExtra
ユーザーの追加メタデータを更新します。
パラメータ
- args
object(required)- did
string(required) — ユーザーのDID。 - remark
string— ユーザーに関する備考やメモ。 - extra
string— カスタムデータを保存するためのJSON文字列。
- did
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
updateUserInfo
ユーザーの一般情報を更新します。有効なユーザーセッションクッキーが必要です。
パラメータ
- userInfo
object(required) — 更新するユーザーフィールドを含むオブジェクト。ユーザーのdidを含める必要があります。 - options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
updateUserAddress
ユーザーの住所を更新します。有効なユーザーセッションクッキーが必要です。
パラメータ
- args
object(required) — ユーザーのDIDと住所詳細を含むオブジェクト。- did
string(required) — ユーザーのDID。 - address
object— ユーザーの住所。- country
string— 国 - province
string— 州/都道府県 - city
string— 市 - postalCode
string— 郵便番号 - line1
string— 住所1 - line2
string— 住所2
- country
- did
- options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
ユーザーセッション
getUserSessions
ユーザーのアクティブなセッションのリストを取得します。
パラメータ
- args
object— クエリとページネーションのオプションを含むオブジェクト。- paging
object— ページネーションオプション。 - query
object— フィルタリング基準。- userDid
string— ユーザーDIDでフィルタリング。 - status
string— セッションステータスでフィルタリング。
- userDid
- paging
戻り値
- ResponseUserSessions
Promise<object>— ページ分割されたユーザーセッションのリスト。- list
TUserSession[]— セッションオブジェクトの配列。 - paging
object— ページネーション情報。
- list
getUserSessionsCount
オプションのフィルタリング付きで、ユーザーセッションの総数を取得します。
パラメータ
- args
object— クエリオプションを含むオブジェクト。- query
object— フィルタリング基準。- userDid
string— ユーザーDIDでフィルタリング。
- userDid
- query
戻り値
- ResponseUserSessionsCount
Promise<object>— セッション数を含むオブジェクト。- count
number— セッションの総数。
- count
ソーシャル&コミュニティ
getUserFollowers
特定のユーザーをフォローしているユーザーのリストを取得します。有効なユーザーセッションクッキーが必要です。
パラメータ
- args
object(required) — クエリオプション。- userDid
string(required) — フォロワーを取得する対象のユーザーのDID。 - paging
object— ページネーションオプション。
- userDid
- options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUserFollows
Promise<object>— ページ分割されたフォロワーユーザーのリスト。
getUserFollowing
特定のユーザーがフォローしているユーザーのリストを取得します。有効なユーザーセッションクッキーが必要です。
パラメータ
- args
object(required) — クエリオプション。- userDid
string(required) — フォローリストを取得する対象のユーザーのDID。 - paging
object— ページネーションオプション。
- userDid
- options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUserFollows
Promise<object>— フォローされているユーザーのページ分割されたリスト。
getUserFollowStats
ユーザーのフォロワー数とフォロー数を取得します。有効なユーザーセッションクッキーが必要です。
パラメータ
- args
object(required) — クエリオプション。- userDids
string[](required) — ユーザーDIDの配列。
- userDids
- options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUserRelationCount
Promise<object>— フォロワー数とフォロー数を含むオブジェクト。
checkFollowing
あるユーザーが他の1人以上のユーザーをフォローしているかどうかを確認します。
パラメータ
- args
object(required)- followerDid
string(required) — 潜在的なフォロワーのDID。 - userDids
string[](required) — 確認対象のユーザーDIDの配列。
- followerDid
戻り値
- ResponseCheckFollowing
Promise<object>— キーがユーザーDID、値がフォロー状況を示すブール値のオブジェクト。
followUser
あるユーザーが別のユーザーをフォローするようにします。
パラメータ
- args
object(required)- followerDid
string(required) — フォローするユーザーのDID。 - userDid
string(required) — フォローされるユーザーのDID。
- followerDid
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
unfollowUser
あるユーザーが別のユーザーのフォローを解除するようにします。
パラメータ
- args
object(required)- followerDid
string(required) — フォローを解除するユーザーのDID。 - userDid
string(required) — フォローを解除されるユーザーのDID。
- followerDid
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
getUserInvites
特定のユーザーによって招待されたユーザーのリストを取得します。有効なユーザーセッションクッキーが必要です。
パラメータ
- args
object(required) — クエリオプション。- userDid
string(required) — 招待者のDID。 - paging
object— ページネーションオプション。
- userDid
- options
object(required) — ヘッダーを含むリクエストオプション。- headers
object(required)- cookie
string(required) — ユーザーのセッションクッキー。
- cookie
- headers
戻り値
- ResponseUsers
Promise<object>— ページ分割された招待ユーザーのリスト。
タグ管理
getTags
利用可能なすべてのユーザータグのリストを取得します。
パラメータ
- args
object- paging
object— ページネーションオプション。
- paging
戻り値
- ResponseTags
Promise<object>— ページ分割されたタグオブジェクトのリスト。- tags
TTag[]— タグオブジェクトの配列。 - paging
object— ページネーション情報。
- tags
createTag
新しいユーザータグを作成します。
パラメータ
- args
object(required)- tag
object(required)- title
string(required) — タグのタイトル。 - description
string— タグの説明。 - color
string— タグの16進数カラーコード。
- title
- tag
戻り値
- ResponseTag
Promise<object>— 新しく作成されたタグを含むオブジェクト。
updateTag
既存のユーザータグを更新します。
パラメータ
- args
object(required)- tag
object(required)- id
number(required) — 更新するタグのID。 - title
string— 新しいタイトル。 - description
string— 新しい説明。 - color
string— 新しい色。
- id
- tag
戻り値
- ResponseTag
Promise<object>— 更新されたタグを含むオブジェクト。
deleteTag
ユーザータグを削除します。
パラメータ
- args
object(required)- tag
object(required)- id
number(required) — 削除するタグのID。
- id
- tag
戻り値
- ResponseTag
Promise<object>— 削除されたタグを含むオブジェクト。
ロールベースのアクセス制御(RBAC)
getRoles
利用可能なすべてのロールのリストを取得します。
戻り値
- ResponseRoles
Promise<object>— ロールのリストを含むオブジェクト。- roles
TRole[]— ロールオブジェクトの配列。
- roles
getRole
名前によって単一のロールを取得します。
パラメータ
- name
string(required) — ロールの一意の名前。
戻り値
- ResponseRole
Promise<object>— ロールの詳細を含むオブジェクト。
createRole
新しいロールを作成します。
パラメータ
- args
object(required)- name
string(required) — ロールの一意の識別子(例:editor)。 - title
string(required) — 人間が読めるタイトル(例:Content Editor)。 - description
string— ロールの目的の簡単な説明。
- name
戻り値
- ResponseRole
Promise<object>— 新しく作成されたロールを含むオブジェクト。
updateRole
既存のロールを更新します。
パラメータ
- name
string(required) — 更新するロールの名前。 - updates
object(required) — 更新するフィールドを含むオブジェクト。- title
string— 新しいタイトル。 - description
string— 新しい説明。
- title
戻り値
- ResponseRole
Promise<object>— 更新されたロールを含むオブジェクト。
deleteRole
ロールを削除します。
パラメータ
- name
string(required) — 削除するロールの名前。
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
getPermissions
利用可能なすべての権限のリストを取得します。
戻り値
- ResponsePermissions
Promise<object>— 権限のリストを含むオブジェクト。- permissions
TPermission[]— 権限オブジェクトの配列。
- permissions
getPermissionsByRole
特定のロールに付与されたすべての権限を取得します。
パラメータ
- role
string(required) — ロールの名前。
戻り値
- ResponsePermissions
Promise<object>— ロールの権限リストを含むオブジェクト。
createPermission
新しい権限を作成します。
パラメータ
- args
object(required)- name
string(required) — 権限の一意の名前(例:post:create)。 - description
string— 権限が許可する内容の説明。
- name
戻り値
- ResponsePermission
Promise<object>— 新しく作成された権限を含むオブジェクト。
updatePermission
既存の権限を更新します。
パラメータ
- name
string(required) — 更新する権限の名前。 - updates
object(required)- description
string— 権限の新しい説明。
- description
戻り値
- ResponsePermission
Promise<object>— 更新された権限を含むオブジェクト。
deletePermission
権限を削除します。
パラメータ
- name
string(required) — 削除する権限の名前。
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
grantPermissionForRole
ロールに権限を割り当てます。
パラメータ
- role
string(required) — ロールの名前。 - permission
string(required) — 付与する権限の名前。
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
revokePermissionFromRole
ロールから権限を取り消します。
パラメータ
- role
string(required) — ロールの名前。 - permission
string(required) — 取り消す権限の名前。
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
updatePermissionsForRole
ロールの既存のすべての権限を新しいセットに置き換えます。
パラメータ
- role
string(required) — ロールの名前。 - permissions
string[](required) — ロールに設定する権限名の配列。
戻り値
- ResponseRole
Promise<object>— 更新されたロールを含むオブジェクト。
hasPermission
ロールが特定の権限を持っているかどうかを確認します。
パラメータ
- role
string(required) — 確認するロールの名前。 - permission
string(required) — 検証する権限の名前。
戻り値
- BooleanResponse
Promise<object>— ブール値のresultプロパティを持つオブジェクト。- result
boolean— ロールが権限を持っている場合はtrue、そうでない場合はfalse。
- result
パスポート管理
issuePassportToUser
ユーザーに新しいパスポートを発行し、ロールを割り当てます。
パラメータ
- args
object(required)- userDid
string(required) — パスポートを受け取るユーザーのDID。 - role
string(required) — このパスポートで割り当てるロール。
- userDid
戻り値
- ResponseUser
Promise<object>— 新しいパスポートを含む、更新されたユーザープロファイルを含むオブジェクト。
enableUserPassport
以前に取り消されたユーザーのパスポートを有効にします。
パラメータ
- args
object(required)- userDid
string(required) — ユーザーのDID。 - passportId
string(required) — 有効にするパスポートのID。
- userDid
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
revokeUserPassport
ユーザーのパスポートを取り消します。
パラメータ
- args
object(required)- userDid
string(required) — ユーザーのDID。 - passportId
string(required) — 取り消すパスポートのID。
- userDid
戻り値
- ResponseUser
Promise<object>— 更新されたユーザープロファイルを含むオブジェクト。
removeUserPassport
ユーザーのパスポートを永久に削除します。
パラメータ
- args
object(required)- userDid
string(required) — ユーザーのDID。 - passportId
string(required) — 削除するパスポートのID。
- userDid
戻り値
- GeneralResponse
Promise<object>— 成功または失敗を示す一般的なレスポンスオブジェクト。
Blockletとコンポーネント情報
getBlocklet
現在のBlockletのメタデータと状態を取得します。
パラメータ
- attachRuntimeInfo
boolean(default:false) —trueの場合、CPUやメモリ使用量などのランタイム情報を含めます。 - useCache
boolean(default:true) —falseの場合、キャッシュをバイパスして最新のデータを取得します。
戻り値
- ResponseBlocklet
Promise<object>— Blockletの状態とメタデータを含むオブジェクト。
getComponent
現在のBlocklet内の特定のコンポーネントの状態をDIDによって取得します。
パラメータ
- did
string(required) — 取得するコンポーネントのDID。
戻り値
- ComponentState
Promise<object>— コンポーネントの状態とメタデータを含むオブジェクト。
getTrustedDomains
フェデレーションログインのための信頼できるドメインのリストを取得します。
戻り値
- string[]
Promise<string[]>— 信頼できるドメインURLの配列。
getVault
Blockletのvault情報を取得し、検証します。
戻り値
- vault
Promise<string>— 検証が成功した場合のvault文字列。
clearCache
パターンに基づいてノード上のキャッシュデータをクリアします。
パラメータ
- args
object- pattern
string— 削除するキャッシュキーに一致するパターン。
- pattern
戻り値
- ResponseClearCache
Promise<object>— 削除されたキャッシュキーのリストを含むオブジェクト。- removed
string[]— キャッシュから削除されたキーの配列。
- removed
アクセスキー管理
createAccessKey
プログラムによるアクセスのための新しいアクセスキーを作成します。
パラメータ
- params
object(required)- remark
string— アクセスキーの説明。 - passport
string— キーに関連付けるロール/パスポート。デフォルトは「guest」。
- remark
戻り値
- ResponseCreateAccessKey
Promise<object>— 新しく作成されたアクセスキーとシークレットを含むオブジェクト。
getAccessKey
単一のアクセスキーの詳細を取得します。
パラメータ
- params
object(required)- accessKeyId
string(required) — 取得するアクセスキーのID。
- accessKeyId
戻り値
- ResponseAccessKey
Promise<object>— アクセスキーの詳細を含むオブジェクト。
getAccessKeys
アクセスキーのリストを取得します。
パラメータ
- params
object- paging
object— ページネーションオプション。
- paging
戻り値
- ResponseAccessKeys
Promise<object>— ページ分割されたアクセスキーオブジェクトのリスト。
verifyAccessKey
アクセスキーが有効かどうかを検証します。
パラメータ
- params
object(required)- accessKeyId
string(required) — 検証するアクセスキーのID。
- accessKeyId
戻り値
- ResponseAccessKey
Promise<object>— 有効な場合、アクセスキーの詳細を含むオブジェクト。
BlockletServiceをマスターしたら、次にユーザーにメッセージを送信する方法を探求したくなるかもしれません。通知サービスガイドで詳細をご覧ください。