はてなスターをもらったときにTwitterを更新するHookHubスクリプト
使い方はとっても簡単です!
HookHubの設定
- HookHub(http://www.hookhub.com)でアカウントを登録します(Googleアカウントでログインできます)
- ログインして Update Twitter from Hatena::Star を開きます(http://www.hookhub.com/Mikage/hook/143)
- 「Fork」ボタンを押して自分のアカウントにコードを取り込み、そのまま「Submit」を押して保存します。「はて☆すた」とかは好みで変更して下さい。
- 画面の下の方の Web Hooks URI (only you can see) に、自分専用のWeb Hooks URIが表示されるのでメモ帳などに控えておきます
- 上部メニューから「Config」を開きます
- 画面の下の方の「Config」で、Name と Value の入力ボックスがあるので、Name:「twitter_name」 Value:「(自分のTweitter名)」を入力してsave、Name:「twitter_pass」 Value:「(自分のTweitterパスワード)」を入力してsave します
- パスワードは入力後にマスクされます
はてなブックマーク Web Hook の設定
- はてなブックマークの「設定」→「データ管理」を開きます
- 「イベント通知を受けとるURL」に先ほど控えた自分専用のWeb Hooks URIを貼り付けます
- 「キー」は空欄のままにします
- 「受け取るイベントの種類」で「はてなスター受け取り」にチェックを入れてWebHookの設定を保存します。
あとは☆が付くのをwktkしながら待つだけ!
ぜひ使ってみてください。
コード
// http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%d6%a5%c3%a5%af%a5%de%a1%bc%a5%af%20Web%20Hook if (stash.params.status != "star") throw "unknown status:" + stash.params.status; var username = stash.params.username; var color = stash.params.color; var quote = stash.params.quote; var permalink = stash.params.permalink; var quote = stash.params.quote; var comment = stash.params.comment; var url = http.get("http://u.nu/unu-api-simple?url=" + encodeURIComponent(permalink)).body; var tweet = "はて☆すた:id:" + username + "さんから" + color + " starをもらったよ。" + "「" + quote + " ( " + url + " )」"; http({ method: "post", url: "http://twitter.com/statuses/update.json", data: http.data({ status : tweet }), headers : { Authorization : "Basic " + util.base64.encode( [stash.config.twitter_user, stash.config.twitter_pass].join(":") ) } }).code
良いところ
作った動機とか
- http://lifehacking.jp/2009/07/why-you-should-start-friendfeed/ を読んでFriendFeedを始めてみたものの閑古鳥
- FriendFeedとTwitterが連携できるらしいのでTwitterを再開するも閑古鳥
- はてブとはてなスターだったらつぶやくネタになるかな
- はてブはWebHook → HookHub → Twitterで流せるみたい
- はてなスターも流せたらいいな!
- 作ってみた!
メッセージ
wktkしながら作るのって楽しいよ。
JavaScript知ってるから作るわけじゃないよ。短縮URL作るときに#が消えてしまってURLエンコードすればいいんだと思いついてencodeURIComponent()を探し当てるまで2時間くらいかかったよ。
というわけで
ここまで読んで頂いてありがとうございます。
記事に興味を持って頂けたらぜひFollowしてください!
FriendFeed: http://friendfeed.com/mikage
Twitter: http://twitter.com/mikage014
バグ?
- はてなブックマーク Web Hookからスター受け取りのデータが送られてくるときに quote に値が入らないようです。
- permalinkってWeb Hookのパラメータ仕様に乗ってないけど使って大丈夫かな…?
トラバ
どんジレさんの記事を読んで、僕なりに楽しいプログラムとは?を考えてみたのと
はまちやさんの記事がずばり思ってたことだったのでトラバを送らせて頂きます。
あっという間に過ぎた545日のプログラミング暦を振り返り、負け戦を恥じる。 - どんなジレンマ
http://d.hatena.ne.jp/hrkt0115311/20090720/1248041988
プログラミング言語を身につける唯一の方法 - ぼくはまちちゃん!
http://d.hatena.ne.jp/Hamachiya2/20090721/programming