• Showing Page History #51491

bbs.cgi

パラメータに js=1 または xml=1 をつけるとそれぞれ JSON または XML 形式で返ってきます。 成功または失敗したか判断をするには ok の値が 1 であるかどうかを確認すればよいです。

  • js=1 で書き込みに成功した場合
    1. {
    2. error => '',
    3. errstr => '',
    4. ok => 1
    5. }
  • xml=1 で書き込みに成功した場合
    1. <response>
    2. <error></error>
    3. <errstr></errstr>
    4. <ok>1</ok>
    5. </response>
  • js=1 で書き込みに失敗した場合の一例
    1. {
    2. error => 'INVALID_POST',
    3. errstr => 'フォーム情報が正しく読めないです。',
    4. ok => 0
    5. }
  • xml=1 で書き込みに失敗した場合の一例
    1. <response>
    2. <error>INVALID_POST</error>
    3. <errstr>フォーム情報が正しく読めないです。</errstr>
    4. <ok>0</ok>
    5. </response>

upload.csv

アップロードされたファイル情報を収めたCSVファイル。サムネイル表示可能数 = 行数のため、 全てのアップロードされたファイル情報を取得することは出来無い。また、拡張である Img0ch::Plugin::Upload::XCSV が有効な掲示板に限るため、あまり有用ではない。

  • パス
    /[掲示板ディレクトリ]/img/[スレッドキー]/upload.csv
    
  • 形式
    1. [レス番号],[拡張子],[元画像の幅],[元画像の高さ],[ファイルのMD5値],[サムネイルの幅],[サムネイルの高さ]

現在実装を予定している API (策定中)

  • REST 形式
  • 成功か失敗かは HTTP のステータスコードを見る必要がある
  • 200 (更新系は 201) が成功
  • クライアントのリクエストに問題がある場合は 4xx 系を返す
  • #{variable} は変数を表す
  • #{bbs} は掲示板のディレクトリ
  • #{thread} はスレッドキー
  • #{resno} はレス番号
  • #{plugin} はプラグイン ID

GET /api/plugins

プラグイン一覧を取得する

PUT /api/plugin/#{plugin}

プラグインの有効無効をシステムレベルで設定する

PUT /api/banner/main

掲示板のバナーを更新する

PUT /api/banner/sub

掲示板のサブバナーを更新する

GET /api/#{bbs}/pooled

プール済みのスレッド一覧を取得する

GET /api/#{bbs}/archived

過去ログに変換済みのスレッド一覧を取得する

GET /api/#{bbs}/setting/main

主要設定を取得する

GET /api/#{bbs}/setting/design

デザイン設定を取得する

GET /api/#{bbs}/setting/restriction

制限設定を取得する

GET /api/#{bbs}/setting/others

その他の設定を取得する

GET /api/#{bbs}/setting/img0ch

img0ch 特有の設定を取得する

GET /api/#{bbs}/errors

エラーログを取得する

GET /api/#{bbs}/hosts

スレッドログを取得する

GET /api/#{bbs}/plugins

プラグイン一覧を取得する

PUT /api/#{bbs}/header

掲示板のヘッダーを更新する

PUT /api/#{bbs}/meta

掲示板のメタデータを更新する

PUT /api/#{bbs}/footer

掲示板のフッターを更新する

PUT /api/#{bbs}/plugins/#{plugin}

プラグインの有効無効を掲示板レベルで設定する

GET /api/#{bbs}/#{thread}/setting

仮想スレッドの設定を取得する

GET /api/#{bbs}/#{thread}/access

仮想スレッドのアクセス設定を取得する

GET /api/#{bbs}/#{thread}/ngword

仮想スレッドのNGワード設定を取得する

GET /api/#{bbs}/#{thread/tags

タグ一覧を取得する

GET /api/#{bbs}/#{thread}/ngtags

NGタグ一覧を取得する

PUT /api/#{bbs}/#{thread}/ngtags

NGタグを更新する

PUT /api/#{bbs}/#{thread}/stop

スレッドを停止する

PUT /api/#{bbs}/#{thread}/restart

スレッドを再開する

PUT /api/#{bbs}/#{thread}/setting

仮想スレッドの設定を更新する

PUT /api/#{bbs}/#{thread}/access

仮想スレッドのアクセス設定を更新する

PUT /api/#{bbs}/#{thread}/ngword

仮想スレッドのNGワード設定を更新する

DELETE /api/#{bbs}/#{thread}

指定されたスレッドを削除する

PUT /api/#{bbs}/#{thread}/#{resno}

指定されたレスを編集する

PUT /api/#{bbs}/#{thread}/#{resno}/freeze

指定されたレスに添付されたファイルを凍結させる

PUT /api/#{bbs}/#{thread}/#{resno}/release

指定されたレスに添付されたファイルを復活させる

DELETE /api/#{bbs}/#{thread}/#{resno}

指定されたレスを通常削除する

DELETE /api/#{bbs}/#{thread}/#{resno}/erase

指定されたレスを透明削除する

DELETE /api/#{bbs}/#{thread}/#{resno}/fileonly

指定されたレスに添付されたファイルのみを削除する

DELETE /api/#{bbs}/#{thread}/pool

指定されたプールスレッドを削除する

DELETE /api/#{bbs}/#{thread}/archive

指定された過去ログを削除する

実装戦略

これらは Zeromin2::App::* にあるものを土台とする。Zeromin2::App のふりをする モジュール (Zeromin2::API) を作って入力と出力のみを加工する。また、 セッションを作成するAPIを実装する予定は無いので、ユーザ名とパスワードは毎回要求する。