2chAPIについて†
2chAPIは2015/3/3に本格運用が始まり、しばらくのちに現在広く使われているDATへの直接アクセスが禁止となる予定となっているようです。
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桁を使うように変更
- 2015/3/15: B07を作成しました。変更点は、
- read.cgi使用時のUA設定を固定でIEのUAを使うように修正
- read.cgi使用時、BEの表示位置がおかしい問題の修正
- read.cgiのパフォーマンス改善(若干)
- MacでUIフォントを変更すると字が見えなくなる問題の修正
- APIの認証時にDAT取得とは別のUAを指定できるように修正
- BBS pinkの過去ログが取得できない問題の修正
- 2ch/BBS pink以外の掲示板で正常に書き込めない問題の修正
- 2015/3/15: B08緊急パッチを作成しました。変更点は、
- B07で発生していたSC使用時、およびスレッドを閉じて開きなおした際に重複レス取得する問題を修正
- 2015/3/16: B09パッチを作成しました。変更点は
- B08で発生していたread.cgiでスレタイを取得できない問題を修正
- 2015/3/22: B10パッチを作成しました。B09の方は特に更新する必要はないです。
変更点は
- パー速等に書き込めない不具合の修正
- APIの設定画面にバージョン表記を追加
- read.cgiをデフォルトONになるように修正
注意制限事項†
- V2C 2.11.3 [R20131027]以前では動作しません。
- 描画速度は 2chAPI > read.cgiです。 理解した上でチェックしてください。
APIを使った場合、現状差分取得がうまく動いていません。(2/27時点) API側で修正が入るまでお待ち下さい。 B02で修正済み
- 本家V2Cでパッチ適用後以降、Twitterが使えないという問題があるようです。
自分の環境では、本家V2Cにて最初からtwitterが使えないため再現確認できていません
- 1.「設定」→「Twitter」にて当該アカウントを削除する。
- 2.WebブラウザにてTwitter画面を表示後、V2Cとのアプリ連携を解除する。
- 3.「設定」→「Twitter」にて当該アカウントを再度設定する。
APIを使った場合、HTTPError(Unknown)が正常取得と交互に出る(3/4 11:39現在) B05で修正済み
「2ch APIを使用する」にチェックを入れると、まちBBSの最新レスが閲覧出来ません。チェックを外して、閲覧してください。 B06で修正済み
- V2Cのインストールフォルダが見つからない場合、「設定」→「ランチャー」で確認出来ます。
導入方法 (Windows)†
- 上記のパッチをダウンロードして解凍します※解凍ソフトを選ぶ模様(Lhaplus v.1.59では解凍できずExtractNow v.4.78ではできました)
- 解凍してできたlauncherフォルダをV2Cのインストールフォルダに上書きします
- 上書き後にV2C.exeを実行します
導入方法 (Linux)†
- 上記のパッチをダウンロードして解凍します
- 解凍してできたlauncherフォルダをV2Cのインストールフォルダに上書きします
- 上書き後にv2cを実行します
導入方法 (Mac OSX)†
(中身はV2C_Rにパッチを当てたものになります)
- 上記ファイルをダウンロードして解凍します
- 解凍してできたV2C.appを、Applicationsへドラッグアンドドロップします
導入方法(OS非依存)†
- V2CまたはV2C-Rをダウンロードし、解凍します
- 解凍してできるlauncherフォルダの中にある、V2C_R20131214.jarまたはV2C_S20150206.jarをわかりやすい場所にコピーし、残りのファイルやフォルダは削除します
- API_Patch_*.zip をダウンロードし、解凍します
- 解凍してできるlauncherフォルダの中にある、v2c_api_patch.jarを先ほどV2C*.jarをコピーした場所にコピーし、残ったファイルは削除します
(この時点で同じフォルダの中にV2C**.jarとv2c_api_patch.jarが置かれた状態になっています)
- コマンドライン(コマンドプロンプトやターミナル等)から、java -jar PATH_TO/v2c_api_patch.jarを実行すると、V2Cが起動します(PATH_TOは、V2C*.jarやv2c_api_patch.jarを置いたフォルダへの絶対パス)
大抵のOSではv2c_api_patch.jarをダブルクリックすると上記と同じコマンドに引き渡され、V2Cが起動します
V2CまたはV2C-Rをダウンロードし、展開します。
設定方法†
「設定」→「外部コマンドの設定」→「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に合わせた値にすることで、V2C特有の問題を切り分けるなどの目的に使えます
- ユーザーエージェント(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