選択した範囲のリンクを全部 Instapaper に登録するブックマークレットをつくりました

http://let.hatelabo.jp/laiso/let/gYC-xYC4xMy_HA

こういうまとめ記事の羅列されたリンクをマウスで選択して、ブックマークレットを実行すると一括でInstapaper に登録します。

  • アンカーテキストをタイトルにします
  • Instapaper にログインしてないと使えない
  • 非公式(Undocumented) なAPIを使っているのですぐ動かなくなる可能性がある
  • テスト不足(YOR!)

解説

Instapaper の登録ブックマークレットの中身は単純なサーバーにあるjavascriptファイルを読み込むだけのブリッジ。でもなぜかユーザーごとにブックマークレットのURLがちがう。中身のサーバで配信されてるjavascriptの中身にUID文字列のようなものがあり、これでユーザーを判別しているのかな? と思ったがアクセスする度に違うし、空にしてもエラーにならなかった。最終的にはサブフレームから動的にFORMを生成して自動POST させているかんじ。

ブックマークレットから読み込まれたjavascript を書き換え、ブックマークレット化したのが今回つくったやつ。

Instagram には別にWeb API があるんだけど、クライアントサイドからだと登録にHTTP POST かつ、JSONP でやりとりしてくれ。みたいなかんじで使いにくかった。こっちに移行できればしたいんだけど……