新しいblogに移行しました

新ブログ "All Yout Bugs Are Belong To Ass" に移行しました!

2010-07-27

[JavaScript]今見てるページをTwitterにPOSTするブックマークレット

ChromeやFirefoxなんか使ってWebを色々見てるときに、ふと
「このページ、TwitterにPOSTしとこ!」
とか思い立ったりするんですけど、これ、まともにやると意外と手間なんですよねえ。
ページのタイトルコピーして、新しいタブ開いて、Twitterにアクセスして、タイトルをペースト。
まだまだ!さらにもいっちょ新規タブ開けてbit.lyにアクセス!でもって元ページのURLコピってbit.lyにペーストしてshortenボタンクリックして、出てきたURLコピって、Twitterのタブ開けてペーストして、ようやくつぶやける。非常に面倒です。

あ、それHootなんたらでとかいう野暮はナシでお願いします。

さて、こんな面倒なもんやってられっけー!という向きには、ブックマークレットを用意しましたので、使ってやってください。
但し!使う前に、若干手間をかけてもらいます。

bit.lyにアカウントを作る

bit.lyにアクセスして、アカウントを作って下さい。

bit.ly API Keyを取得する

bit.lyのアカウントを作ったら、your bit.ly API Keyにアクセスして、loginとAPI Keyをコピーします。

ブックマークレットのソースを書き換える

以下、ブックマークレットのソースです。適当にコピーしてエディタとかに貼り付けて下さい。
javascript:(
  function(e){
    var login="your_account";
    var apiKey="********";
    var bitlyURL='http://api.bit.ly/shorten?version=2.0.1&format=json&callback=cb&login='+login+'&apiKey='+apiKey+'&longUrl=';
    var cbfunc = e.createElement('script');
    cbfunc.type = 'text/javascript';
    cbfunc.innerText = 'function cb (res){var jumpURL="http://twitter.com/home?status="+encodeURIComponent(document.title+" "+res.results[location.href]["shortUrl"]);location.href=jumpURL;};';
    e.body.appendChild(cbfunc);
    var script = e.createElement('script');
    script.type = 'text/javascript';
    script.src = bitlyURL+encodeURIComponent(location.href);
    e.body.appendChild(script);
  }
)(document)

このソースコードのうち、この部分の値
var login="your_account";
    var apiKey="********";
を、先ほど取得したbit.lyのアカウント(login)とAPI Keyに置き換えて下さい。

書き換えたソースをブックマークレットとして登録する

あとは、ブラウザのブックマークの管理等を開き、新しいブックマーク(名前はご自由にどうぞ)として、出来上がったソースをアドレス部分にペーストして登録します。これがブックマークレットとなります。

使い方

・まず、TwitterにPOSTしたいと思ってるページにアクセス。
・次に、先ほど作成したブックマークレットをクリック。
・Twitterにアカウントがあってログイン状態なら、そのままtweetできる状態となっています。

注意!!

絶対に自分や他人のAPIKeyやloginが含まれた状態でこのブックマークレットを公開したり配布しないように!
最悪の場合、bit.ly APIにアクセス出来なくなって、結果的にTwitterへのPOSTが上手くいかなくなる恐れがあります。

0 件のコメント: