- 2010-05-17 (月)
- 技術
先週末にこのブックマークレットを作ってて、実はbitlyAPIにcallback_methodパラメータを渡せばJSONPになるという驚愕の事実を知ったのですが、自分で作っちゃったのでとりあえずメモ的にエントリー。
サイト見てて、このサイト面白いと思ったら「サイトのタイトル - URL」のようにつぶやく既存のブックマークレットを使っていたんですが、URLの部分が短縮にならなかったので、
ためしに作ってみました。
しかも無駄にRailsでっ!!
bit.lyのAPIについて
bit.lyのAPIを使うにはアカウントを作る必要があるそうなので、作りました。
細かいAPIは以下に書いてあるのですが、
ApiDocumentation - bitly-api - bit.ly REST API method documentation - Project Hosting on Google Code
http://api.bit.ly/v3/shorten?login=hoge&apiKey=XXXX&uri=http://hisasann.com/&format=json
上記の感じです。
ではRubyからbit.lyのAPI経由でURLを短縮します。
パラメータとして、短縮したいURLとcallback関数を渡します。
URLは以下。
http://hisasann.sakura.ne.jp/bitlyJSONP/bitly/convert?url=http://hisasann.com/&callback=hoge
Controllerのコード
短縮されたURLとcallback関数名をインスタンス変数に入れて終わり。
Viewのコード
callback関数にURLを渡すだけのコードを返します。
ブックマークレットJavaScript
http://lab.hisasann.com/bitly/bitly.js
ブックマークレット
以下のリンクをブラウザのブックマークにドラッグアンドドロップしてください。
Tweet bit.ly
一応Rails部分だけgitHubにコミットしときました。
hisasann's bitlyJSONP at master - GitHub
まとめ
Railsのプロジェクトを作成して、さくらにDeployしたんですが、なぜか動かなかったのでsshでログインしてさくらサーバー内で開発しちゃいました。
エラー内容はよく見る以下の感じなんですが、どこをどうしてもダメ。
Railsのバージョンは2.2.2をサーバーとローカルで使っているんですが、Rubyのバージョンがサーバー1.8.7・ローカル1.8.6が原因なのかな・・・
それともパーミッションか。
Application error
Rails application failed to start properly"
すでにあるものを作ってしまいましたが、まあ良しとしますw
でも1つ余計にサーバー介してるので重いですね。
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1256
- Listed below are links to weblogs that reference
- 今見ているサイトを短縮URLにしてTwitterにつぶやくブックマークレット from HouseTect, JavaScriptな情報をあなたに

