コンテンツにスキップ

はじめに

  • Node.js 18 以上
  • mixi2 Developer Platform で開発者登録が完了していること
  • アプリケーションを作成し、認証情報(Client ID / Client Secret / Token URL 等)を取得済みであること
Terminal window
npm install mixi2-js

ESM・CommonJS の両方に対応しています。TypeScript の型定義 (.d.ts) も同梱されています。

モジュール説明
OAuth2AuthenticatorOAuth2 Client Credentials 認証(トークン自動キャッシュ・有効期限 1 分前に自動更新)
ClientgRPC API クライアント(8 つの RPC メソッドに対応)
WebhookServerHTTP Webhook サーバー(Ed25519 署名検証・Ping 自動応答)
StreamWatchergRPC ストリーミング(指数バックオフによる自動再接続)

すべての API 操作に OAuth2 認証が必要です。

// ESM
import { OAuth2Authenticator } from 'mixi2-js';
// CJS
const { OAuth2Authenticator } = require('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();

OAuth2 Client Credentials フローによる認証を管理します。

new OAuth2Authenticator(options: AuthenticatorOptions)
プロパティ説明
clientIdstringOAuth2 クライアント ID
clientSecretstringOAuth2 クライアントシークレット
tokenUrlstringトークンエンドポイント URL
メソッド戻り値説明
getAccessToken()Promise<string>アクセストークンを取得。有効期限の 1 分前までキャッシュし、自動更新する

Authenticator インターフェースを実装しているため、カスタム認証を独自に実装することも可能です。

詳細は 公式ドキュメント を参照してください。