2chAPIについて†
2chAPIは2015/3/3に本格運用が始まり、しばらくのちに現在広く使われているDATへの直接アクセスが禁止となる予定となっているようです。
そのため、2chAPIを使用してDATを取得する方法に切り替える必要があります。
しかしながら2chAPIの個人開発者向けを取り仕切るJaneStyle山下氏より難癖諸般の事情からV2Cへの開発者キーの配布は拒絶されました。
V2Cもこのままではスレを表示できなくなるため、それを回避するため、すでに明らかになったAPIの仕様に従ってDATを取得するためのパッチを作成しました。
このパッチを適用し、別途鍵を入手することで、APIへの切り替え後も引き続きV2Cを使うことができます。
変更履歴†
- 2015/2/27: B02を作成しました。変更点は、
- APIを使った際に、取得済みのスレを再度全取得する問題への暫定対応
- 2015/2/28: B03を作成しました。変更点は、
- V2C_Rへの対応 (RではTwitterも使えます)
- 2015/3/2: B04を作成しました。変更点は、
- API以外にも、read.cgiからdatを生成とscからdatを取得もできるようにしました。設定画面から選べます
- API, read.cgi, SC 複数選択された場合は API > read.cgi > SCの順に優先し、正常に取れるまで優先度の順に実行していきます
- read.cgi, SCは全読み込みのみ対応です(オートリロードでは使い物にならないです)
- 嫌儲の方は2ch_api.txtに「I.hate.Tarako=true」と書いといて下さい。SCがOFFになり、設定にも出てこなくなります
- 2ch APIの使用するプロトコルをhttpsへ変更しました
- 2015/3/4: B05を作成しました。Macの方はしばらくお待ち下さい。変更点は、
- DAT読み込みと書き込みのUAを別々に設定できるようにしました
- APIをOFFにした場合に、V2CのデフォルトのUAがそのまま使われるようにしました
- APIキーの変更時、再起動が必要だった問題を修正しました
- オートリロードでHTTPErrorが交互に出るAPIの問題発生時、「新着レスなし」と表示するようにしました
- 2015/3/7: B05のMacOSX版を作成しました。変更点は
- 2015/3/13: B06を作成しました。変更点は、
- まちBBSで最新レスが表示されない問題の修正
- bbspinkが表示されない問題の修正
- read.cgiのみをチェックした場合に、差分のみ更新し、ちらつきを抑えるように修正
- APIで使うCTの値を固定の値から、Unix時刻の上位10桁を使うように変更
注意制限事項†
APIを使った場合、現状差分取得がうまく動いていません。(2/27時点) API側で修正が入るまでお待ち下さい。 B02で修正済み
- 本家V2Cでパッチ適用後以降、Twitterが使えないという問題があるようです。自分の環境では、本家V2Cでは最初からtwitterが使えないため再現確認できていません
APIを使った場合、HTTPError(Unknown)が正常取得と交互に出る(3/4 11:39現在) B05で修正済み
「2ch APIを使用する」にチェックを入れると、まちBBSの最新レスが閲覧出来ません。チェックを外して、閲覧してください。 B06で修正済み
- V2Cのインストールフォルダが見つからない場合、「設定」→「ランチャー」で確認出来ます。
導入方法 (Windows)†
- 上記のパッチをダウンロードして解凍します
- 解凍してできたlauncherフォルダをV2Cのインストールフォルダに上書きします
- 上書き後にV2C.exeを実行します
導入方法 (Linux, その他)†
- 上記のパッチをダウンロードして解凍します
- 解凍してできたlauncherフォルダをV2Cのインストールフォルダに上書きします
- 上書き後にv2cを実行します
導入方法 (Mac OSX)†
(中身はV2C_RにB06パッチを当てたものになります)
- 上記ファイルをダウンロードして解凍します
- 解凍してできたV2C.appを、Applicationsへドラッグアンドドロップします
設定方法†
「設定」→「外部コマンドの設定」→「2chAPI設定」
にて以下のダイアログが開きます。
この画面にて、APIの設定をします。共通鍵、API鍵は山下氏から入手してください。
- 「2ch APIを使用する」このチェックを入れると、APIを使ったアクセス(http://api.2ch.net/経由でのDAT取得)となります。
- 「read.cgiを使用する」このチェックを入れると、read.cgi経由で取得したHTMLをdatへと変換します。この場合は鍵は必要ありません。
- 「2ch.scを使用する」このチェックを入れると、2ch.scの対応するDATを取得します。この場合は鍵は必要ありません。
- 複数チェックを入れた場合は、API > read.cgi > 2ch.scの順に優先して使います(例えば過去ログなどAPIで取得エラーになるものを、read.cgiや2ch.scから取得する、といったことが可能です)
- 全てのチェックを外すと従来通りの方法でDATを取得します
- 2ch.net以外の掲示板では、このチェックの有無にかかわらず、APIは使用しません(他の8chなどが2ch.netにならってAPIに追随した場合はV2Cでは表示できなくなる場合があります)
- API共通鍵は、APIが今のままである限りは変わらない値です。JaneStyle山下氏より入手ください
- API鍵(AppKey)は、各専ブラごとに割り振られるキーです。
- V2CはJaneStyle山下氏によりキーの発行は拒絶されました。そのため、ユーザー個人個人でキーの入手をおねがいします
- 場合によっては運営によって既存のキーを使えなくされたりする場合がありますので注意ください
- 認証用UAは、api.2ch.netの認証(API経由でDATの取得をする前に必ず実行しなければならない)をする際にサーバー側に送られる文字列です。
- デフォルトでは「V2C/2.11.4」という文字列が送られます
- トラブル時に問題を切り分けるなどの目的で、例えばJaneStyleに合わせた値にして問題を切り分けたりするのに使えます
- ユーザーエージェント(UA)はDATの取得時にサーバ側に送られる文字列です
- デフォルトでは「Monazilla/1.00 (V2C/2.11.4)」という文字列が送られます。
- 認証用UAと同じように問題の切り分けなどにお使いください
これら設定は、V2Cの設定フォルダ以下の「2ch_api.txt」ファイルに保存されます。
ソース†
v2c_api_patch.jarにはソースファイルが入っています。
jarコマンド、または、.jarを.zipに変更して解凍することでソースを確認できます。
ソースをビルドする場合は、以下のコマンドでビルドできます。(別途Java SDKが必要となります)
javac -classpath PATH/TO/V2C_R20131210.jar *.java