Chrome拡張のSilverBirdでリストが取得できなかった件

状況

  • リストを表示しようとしたら、「"undefined"(Not Found) updating tweets 」というエラーが出て表示できなかった

f:id:hchuno:20141101130059p:plain

対処方法

~/Library/Application Support/Google/Chrome
//Macの場合のパス。Windowsだと異なるが、ファイルの中身等やること自体は変わらない

この下に

lists_timeline.js

というファイルがあるので、find等で探して編集。

_extendParams
…
…
params.slug = this.listIdParts[2];
// ↑変更箇所

となっている箇所を

_extendParams
…
…
params.slug = this.listIdParts[3];

に変更し、SilverBirdを再起動。

2015-01-09補足

上記の方法でSiverBirdを再起動すると破損扱いされて「修復」を選ばざるを得なくなり、そうすると上記の編集がリセットされる。
そこで「拡張機能のパッケージ化」を利用して「独自設定したSilverBirdをインストールする」という方法を採ることにした。

lists_timeline.jsを編集後、SilverBirdの再起動は行わず、以下の場所にある「manifest.json」を編集する。

/Users/hchuno/ライブラリ/Application Support/Google/Chrome/Default/Extensions/ExtensionのID/バージョン名/

  1. 「key」「update_url」の行を削除して保存する。
  2. Chromeの「拡張機能」の画面を開く
  3. ディベロッパーモード」をチェックする
  4. 拡張機能のパッケージ化」ボタンを押す
  5. 拡張機能のルートディレクトリ」のところに、上記のバージョン名ディレクトリまでのパスを入れる
  6. 秘密鍵ファイル」は空欄にしておく
  7. 「ExtensionのID」ディレクトリ直下に「バージョン名.crx」というファイルが生成されているので、これを拡張機能画面にドラッグアンドドロップする
    • ディレクトリをFinderで表示させる場合は、Finderのメニューから、移動→フォルダへ移動、と選択して、上記のバージョン名までのパスを入力する
  8. オリジナルのSilverBirdの「有効にする」チェックを外す