はじめに
- Node.js 18 以上
- mixi2 Developer Platform で開発者登録が完了していること
- アプリケーションを作成し、認証情報(Client ID / Client Secret / Token URL 等)を取得済みであること
インストール
Section titled “インストール”npm install mixi2-jsnpx jsr add @otoneko1102/mixi2-jsESM・CommonJS の両方に対応しています。TypeScript の型定義 (.d.ts) も同梱されています。
モジュール一覧
Section titled “モジュール一覧”| モジュール | 説明 |
|---|---|
OAuth2Authenticator | OAuth2 Client Credentials 認証(トークン自動キャッシュ・有効期限 1 分前に自動更新) |
Client | gRPC API クライアント(8 つの RPC メソッドに対応) |
WebhookServer | HTTP Webhook サーバー(Ed25519 署名検証・Ping 自動応答) |
StreamWatcher | gRPC ストリーミング(指数バックオフによる自動再接続) |
すべての API 操作に OAuth2 認証が必要です。
// ESMimport { OAuth2Authenticator } from 'mixi2-js';// CJSconst { OAuth2Authenticator } = require('mixi2-js');import { OAuth2Authenticator } from '@otoneko1102/mixi2-js';const authenticator = new OAuth2Authenticator({ clientId: process.env.CLIENT_ID!, clientSecret: process.env.CLIENT_SECRET!, tokenUrl: process.env.TOKEN_URL!,});
// アクセストークンを取得(キャッシュ済みの場合は即座に返却)const token = await authenticator.getAccessToken();OAuth2Authenticator
Section titled “OAuth2Authenticator”OAuth2 Client Credentials フローによる認証を管理します。
new OAuth2Authenticator(options: AuthenticatorOptions)| プロパティ | 型 | 説明 |
|---|---|---|
clientId | string | OAuth2 クライアント ID |
clientSecret | string | OAuth2 クライアントシークレット |
tokenUrl | string | トークンエンドポイント URL |
| メソッド | 戻り値 | 説明 |
|---|---|---|
getAccessToken() | Promise<string> | アクセストークンを取得。有効期限の 1 分前までキャッシュし、自動更新する |
Authenticator インターフェースを実装しているため、カスタム認証を独自に実装することも可能です。
詳細は 公式ドキュメント を参照してください。