bit.ly APIを利用
Bloged at : 2010-05-17 12:49:18
API KEY取得
JavascriptClientApiを利用
JSからアクセスできるAPIが用意されているので、それを利用するとサーバ側の処理を必要なく、簡単に変換することができる。また、変換しょりは、レンダリング後に遅延して実行されるようになっており、APIが詰まってしまい表示ができない等の問題が起こらないように設計されている。
利用例(Wlog)
Wlog記事タイトル右下の Tweet リンクを以下JSで作成しています。
<script type="text/javascript" charset="utf-8" src="http://bit.ly/javascript-api.js?version=latest&login=tomyhero&apiKey=R_52f38df86864628116ea58131cf48492"></script> <script> var G_box = new Array(); var G_title = new Array(); BitlyCB.shortenResponse = function(data) { var first_result; // Results are keyed by longUrl, so we need to grab the first one. var r; for (r in data.results) { first_result = data.results[r]; break; } G_box[r].innerHTML = '<span style="padding-right:3px;"><a href="http://twitter.com/home/?status=' + encodeURIComponent(G_title[r]) + ' ' + encodeURIComponent(first_result.shortUrl) + '"><img width="15" src="http://parts.blog.livedoor.jp/img/cmn/twitter02.gif" border="0" />Tweet</a></span>' + G_box[r].innerHTML ; } var boxes = $(".updated_at"); var urls = $(".article h2 a"); for (i=0; i<boxes.length; i++) { G_title[urls[i]] = urls[i].innerHTML; G_box[urls[i]] = boxes[i] ; BitlyClient.shorten( urls[i], 'BitlyCB.shortenResponse'); } </script>callback内で任意の、変数を取得できれば良いのだができなさそうだったのでグローバル変数を利用して表示場所を取得している。また、上記ソースで利用しているlogin,apiKey等は各自変更して下さい。
TODO
urlごとの問い合せ回数を、1回でまとめて問い合わせるようにする。
AmazonAPIでASINが存在するのにエラー
Bloged at : 2010-05-16 23:05:29
現象
'Error' => { 'Code' => 'AWS.InvalidParameterValue', 'Message' => 'B0017UT6DO is not a valid value for ItemId. Please change this value and retry your request.' }
Amazon Product Advertising APIを利用して商品をASINで問い合わせするのですが、存在するASINなのになぜか上記のエラーで悩まされました。
原因
endpoint 先が国毎に異なっていたのが原因でした。
USA? | http://webservices.amazon.com/onca/xml |
日本 | http://ecs.amazonaws.jp/onca/xml |
解決
日本用のendpointを指定すると解決しました。
SEE ALSO
- 利用ソース
- Wlogで実装されているperlのソース です 。URI::Amazon::APAを利用すると署名周りを簡単に実装できます。URI::Amazon::APA++
Wlog 0.01 Release
Bloged at : 2010-05-13 23:39:43
Wlogとは
perlで書かれた Wiki + Blog ツールです。この記事自身もWlogを利用しています。普通のWikiでは、書き手が見て欲しいタイミングで、記事を読んでもらうのが難しいという問題があります。なぜなら、Wikiというのは一般的に複数のページに渡り少しずつ更新されていくため、完成度が高くなったタイミングというのをユーザに通知しづらいです。この問題を解決してくれるのがWlogです。読者の方に目を通して欲しいタイミングで、Wiki記事をBlogに公開することができます。
システム
主機能
- Blog機能
- Wiki機能
- カテゴリ機能。
- サイドメニュー機能 。フリーエリア、最新記事表示、タグクラウド表示等を選択できます。
- フッターフリーエリア機能。はてなスターのjsを記載したり等に利用できます。
- 記事保存機能。更新毎に記事を圧縮して保存しており、リカバリーできます。*2
- 記事プレビュー機能。記載した記事を編集中にプレビューすることができます。
利用したい、開発(デザインなど)を手伝いたい等あれば
IRCチャンネル、Twitter等で、気軽に聞いていただければと思います。
- irc.lazy-people.com#project
- http://twitter.com/tomyhero/
その他
このWlogは下記の構成で動いています。demontool をいれたいなと。
Starman -> PSGI(Polocky::WAF) -> Apache -> Browser