メインコンテンツまでスキップ

DJ 識別子を取得

自分のトークンがどの DJ のものかを取得します。配信中かどうかに関係なく、いつでも使えます。

同じ DJ が再同意するとトークンペアが新しく発行され、以前のトークンも有効なまま残ります。 トークンを受け取ったらすぐこの API で userId を保存しておけば、同じ DJ のトークンが複数 できてもひとつにまとめられます。

メソッド・パスGET /v1/me
必要な権限me.read
成功レスポンス200
配信中でないときそのまま 200 — 配信とは無関係です
export SPOON_BASE_URL="https://jp-openapi.spooncast.net"
export SPOON_ACCESS_TOKEN="{発行された access token}"

韓国リージョンなら https://kr-openapi.spooncast.net です — リージョン別アドレス。

リクエスト​

GET /v1/me

ヘッダー​

名前必須説明
Authorization✔Bearer {access_token} 形式です。

パスパラメータ・クエリパラメータ・リクエストボディは ありません。

誰の識別子を受け取るかは トークンが決めます。 そのトークンに同意した DJ です。

リクエスト例​

curl -H "Authorization: Bearer $SPOON_ACCESS_TOKEN" "$SPOON_BASE_URL/v1/me"

レスポンス​

{
"userId": "Ab1Cd2Ef3Gh4Ij5Kl6Mn7O"
}
フィールド型null説明
userIdstringいいえこのトークンが指す DJ の固有識別子です。
userId で DJ を識別します

userId はこの DJ の固有識別子です。同じ DJ なら常に同じ値なので、トークンの整理・累積 データのキーに使えます。イベントストリーム でこの DJ がチャットした ときに届く user.id と 同じ値 です。

値の範囲は自分のボットとその DJ の組み合わせです。DJ が連携を解除して再同意しても維持されます。

コード​

// me.ts — node --experimental-strip-types me.ts

interface Me {
userId: string;
}

const res = await fetch(`${process.env.SPOON_BASE_URL}/v1/me`, {
headers: { Authorization: `Bearer ${process.env.SPOON_ACCESS_TOKEN}` },
});
if (!res.ok) throw new Error(`識別子の取得に失敗: ${res.status}`);

const { userId } = (await res.json()) as Me;

// 同じ userId のトークンがすでにあれば今回のトークンで上書きします — DJ ひとり = トークン一式
console.log(`このトークンの DJ: ${userId}`);
node --experimental-strip-types me.ts

注意​

トークンを受け取ったらすぐ一度呼んで保存します。 同じ DJ が再同意しても以前のトークンは 失効しないため、userId なしでは 2 つのトークンが同じ DJ のものか分かりません。同じ userId がすでにあれば今回のトークンで上書きし、以前のトークンは 失効 させることをおすすめします。

リスナーではなく DJ 自身の値です。 リスナーの識別子は イベントストリーム・リスナー一覧 で受け取ります。

自分のアプリの中でだけ同じ値です。 同じ DJ でも、別のアプリが受け取る値は異なります。 アプリ同士で値を突き合わせて同じ人を特定することはできません。

エラー​

HTTPdetailCode何が起きたかどうするか
401なしトークンがないか無効です。DJ に再連携を案内します。
403なしme.read の権限がありません。権限を追加して再同意を得ます。

この表にない状態も返ることがあります。 誤ったメソッド・Content-Type(400・405・415、 OAPI_MNGR_0103)・呼び出し上限(429、ボディなし)・サーバーエラー(500、OAPI_MNGR_1002)は すべてのエンドポイントに共通 です — エラーコード にあります。

関連ドキュメント​