DJ 식별자 조회
내 토큰이 어느 DJ 의 것인지 조회해요. 방송 여부와 관계없이 언제든 돼요.
같은 DJ 가 다시 동의하면 토큰 쌍이 새로 나오고 이전 토큰도 유효하게 남아요. 토큰을
받자마자 이 API 로 userId 를 저장해 두면, 같은 DJ 의 토큰이 여러 벌 생겨도 하나로 합칠 수 있어요.
| 메서드 · 경로 | GET /v1/me |
| 필요한 권한 | me.read |
| 성공 응답 | 200 |
| 방송 중이 아닐 때 | 그대로 200 — 방송과 무관해요 |
export SPOON_BASE_URL="https://kr-openapi.spooncast.net"
export SPOON_ACCESS_TOKEN="{발급받은 access token}"
일본 지역이면 https://jp-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 | 설명 |
|---|---|---|---|
userId | string | 아니오 | 이 토큰이 가리키는 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 없이는 두 토큰이 같은 DJ 인지 알 수 없어요. 같은 userId 가 이미 있으면
이번 토큰으로 덮어쓰고, 이전 토큰은 폐기하는 걸 권장해요.
청취자가 아니라 DJ 자신의 값이에요. 청취자의 식별자는 이벤트 스트림 · 청취자 목록으로 받아요.
내 앱 안에서만 같은 값이에요. 같은 DJ 라도 다른 앱이 받는 값은 달라요. 앱끼리 값을 대조해 같은 사람을 찾을 수는 없어요.
에러
| HTTP | detailCode | 무슨 일인가요 | 어떻게 하나요 |
|---|---|---|---|
401 | 없음 | 토큰이 없거나 무효해요. | DJ 에게 재연동을 안내해요. |
403 | 없음 | me.read 권한이 없어요. | 권한을 추가해 재동의를 받아요. |
이 표에 없는 상태도 올 수 있어요. 잘못된 메서드·Content-Type(400 · 405 · 415,
OAPI_MNGR_0103) · 호출 한도(429, 본문 없음) · 서버 오류(500, OAPI_MNGR_1002)는
모든 엔드포인트에 공통이에요 — 에러 코드에 있어요.