BoothMate API Documentation - v0.4.0
    Preparing search index...

    BoothMate API Documentation - v0.4.0

    BoothMate

    npm version TypeScript License: MIT

    TypeScriptで書かれたBooth用の非公式スクレイピングライブラリです。Boothの利用規約に抵触しない範囲でご自由に利用ください。

    import { BoothMate } from 'boothmate';

    const client = new BoothMate({
    sessionToken: 'your_session_token',
    csrfToken: 'your_csrf_token'
    });

    // もしくはトークンを省略して初期化も可能です
    // const client = new BoothMate();

    このライブラリでは,セッショントークンやCSRFトークンを省略することもできます。トークンを指定した場合はログイン状態でのAPI操作が可能になり,省略した場合は公開データのみ取得できます。トークンの取得方法については,オプション・設定をご覧ください。

    // 商品検索
    const searchResult = await client.item.search('VRChat', {
    category: Category.THREE_D_MODEL,
    min_price: 0,
    max_price: 5000,
    });

    console.log(`検索結果: ${searchResult.total_items}件`);
    searchResult.items.forEach((item) => {
    console.log(`- ${item.name}: ¥${item.min_price}`);
    });

    // 特定の商品の詳細を取得
    const item = await client.item.get(123456);
    console.log(item.description);
    // ショップ情報の取得
    const shop = await client.shop.get('vrcalphabet');
    console.log(`ショップ名: ${shop.name}`);

    // ショップの商品一覧の取得
    const shopItems = await client.shop.getItems('vrcalphabet');
    // 作成したウィッシュリスト一覧取得
    const wishlists = await client.wishlist.getNames();
    console.log(`ウィッシュリスト数: ${wishlists.length}`);

    // ウィッシュリスト内の商品一覧を取得
    const wishlistItems = await client.wishlist.getItems('pQ9TlbPV');
    console.log(`アイテム数: ${wishlistItems.total_items}`);

    // 商品をウィッシュリストに追加
    await client.wishlist.addItem('pQ9TlbPV', 123456);

    // ウィッシュリストから商品を削除
    await client.wishlist.removeItem('pQ9TlbPV', 123456);

    ここで紹介したAPIは,ほんの一部にしかすぎません。API一覧は,ドキュメンテーションサンプルをご覧ください。

    コードの書き方でお困りですか?AIにご相談ください

    npm install boothmate
    
    yarn add boothmate
    
    pnpm add boothmate
    
    1. セッショントークン (Cookie _plaza_session_nktz7u の値):

      • Boothにログイン後、Cookie-EditorなどのCookie閲覧ツールを使用して値を取得
    2. CSRFトークン:

      • ページのHTMLから<meta name="csrf-token" content="...">を探してcontentの値を取得
      • または、document.querySelector('meta[name="csrf-token"]').contentを実行して取得

    デバッグモードを有効にするには,オプションのdebugtrueを指定します。

    const client = new BoothMate({ debug: true }); // デバッグモード有効
    

    デバッグモードを有効にすると、HTTPリクエストの詳細がコンソールに出力されます(例)。

    200  GET  https://alphahub.booth.pm/items?page=1 (224ms)
    200 GET https://accounts.booth.pm/wish_lists.json?item_ids%5B%5D=6794919 (132ms)

    プロジェクトへの貢献を歓迎します!以下のルールに従うと,あなたの貢献がスムーズになります!

    Issueを立てる際は,バグ報告・機能要望のどちらかを明記してください。 PRの説明には,目的・変更点・影響範囲・サンプルコードがあるとありがたいです。

    MIT License

    詳細はLICENSEファイルを参照してください。

    • 初回リリース
    • コードの統一やREADMEなどを修正
    • サンプルコードの追加やenumプロパティの変更を行った
    • utilityサービスクラスへのアクセスをutilsに名前変更した
    • トークンを省略して初期化できるようにした
    • より詳細なエラーハンドリング
    • メッセージの取得・送信
    • カート内商品の取得
    • 購入履歴とライブラリの取得
    • URLから直接データを取得できるようにする
    • 無料や購入したデジタル商品をダウンロードできるようにする

    あるふぁべっと (vrcalphabet) - プロジェクト作成者・メンテナー

    • Booth.pm - 素晴らしいプラットフォームを提供
    • TypeScriptコミュニティ - 優れた型システム
    • オープンソースコミュニティ - 継続的なサポート

    注意: このライブラリは非公式です。Booth.pmの利用規約(サービス共通利用規約, Booth利用規約)を遵守してご利用ください。また,各APIは1秒以上ごとに実行するなどしてBoothのサーバに負荷が掛からないように配慮してください。