コミュニティライブラリ
TypeScript から Nodaro のコミュニティライブラリを閲覧し、共有されたキャラクター、ロケーション、オブジェクトを自分のアカウントに複製し、お気に入りに登録し、掲載を通報します。
Nodaro Cloud · Business エディション で利用できます
client.community は、コミュニティライブラリを読み取ります。これは、Nodaro チームがキュレーションする、キャラクター、ロケーション、オブジェクトの共有コレクションです。閲覧と検索、1 件の掲載の読み取り、掲載を自分のアカウントへ複製すること、お気に入りへの登録、モデレーション用の通報ができます。これらのメソッドは、コミュニティ REST API を呼び出します。この機能と、肖像・同意に関するルールについては、コミュニティライブラリを参照してください。
コミュニティライブラリは、複数ユーザー向けのインストール環境、つまり Nodaro Cloud と Business エディションにあります。1 人用の Community エディションのインストール環境では、どの呼び出しも NotFoundError を返します。
メソッド
| メソッド | 内容 |
|---|---|
browse(params?) | 掲載を閲覧、検索します |
get(slug) | 1 件の掲載を読み取ります |
getFull(slug) | 1 件の掲載を、完全な公開スナップショットとともに読み取ります |
favorites() | お気に入りに登録した掲載を一覧表示します |
clone(id, entityType) | 掲載を自分のアカウントに複製します |
favorite(id) | お気に入りを追加または解除します |
report(id, reason) | モデレーション用に掲載を通報します |
公開機能は SDK に含まれていません。SDK で使う個人用 API トークンと OAuth トークンでは、公開できません。
client.community
掲載は CommunityCard です。そのフィールドは、API が送るとおりの snake_case です。CommunityEntityType は、"character"、"location"、"object" のいずれかです。
browse(params?)
公開されている掲載のページと、nextCursor を返します(GET /v1/community/browse)。次のページを取得するには、nextCursor を cursor に渡してください。最後のページでは null になります。
browse(params?: BrowseCommunityParams): Promise<{ data: CommunityCard[]; nextCursor: string | null }>Prop
Type
const { data: listings, nextCursor } = await client.community.browse({
entityType: "character",
sort: "popular",
limit: 20,
})get(slug)
スラッグを指定して、1 件の掲載を読み取ります(GET /v1/community/detail/:slug)。
get(slug: string): Promise<{ data: CommunityCard }>Prop
Type
const { data: listing } = await client.community.get("detective-mara")掲載が存在しない場合や、すでに有効でない場合は、NotFoundError をスローします。
getFull(slug)
1 件の掲載を、完全な公開スナップショット(詳細ページに表示されるとおりの画像、ボイス、テキスト)とともに読み取ります(GET /v1/community/detail/:slug/full)。
getFull(slug: string): Promise<{ data: CommunityFullDetail }>Prop
Type
const { data: detail } = await client.community.getFull("detective-mara")favorites()
お気に入りに登録した掲載を一覧表示します(GET /v1/community/favorites)。
favorites(): Promise<{ data: CommunityCard[] }>const { data: favorites } = await client.community.favorites()clone(id, entityType)
掲載を、独立したコピーとしてあなたのライブラリに複製します(POST /v1/community/listings/:id/clone)。ファイルはあなた自身のストレージにコピーされるため、元の掲載が変更されたり削除されたりしても、コピーは残ります。新しいアセットの種類と ID を返します。
clone(id: string, entityType: "character" | "location" | "object"): Promise<{ entityType: string; id: string }>Prop
Type
const { id: characterId } = await client.community.clone(listingId, "character")
const character = await client.characters.get(characterId)OAuth トークンには assets:write スコープが必要です。ストレージが満杯の場合は、StorageExceededError をスローします。
favorite(id)
掲載をお気に入りに追加します。すでに追加されている場合は削除します(POST /v1/community/listings/:id/favorite)。新しい状態を返します。
favorite(id: string): Promise<{ favorited: boolean }>Prop
Type
const { favorited } = await client.community.favorite(listingId)report(id, reason)
モデレーション用に掲載を通報します(POST /v1/community/listings/:id/report)。
report(id: string, reason: CommunityReportReason): Promise<{ ok: true }>Prop
Type
await client.community.report(listingId, "real_person_no_consent")よくある質問
関連ページ
コミュニティライブラリ
キャラクター
ロケーション
コミュニティライブラリ
最終更新