bit.ly APIを利用

Bloged at : 2010-05-17 12:49:18



API KEY取得


アカウント作成後、 http://bit.ly/a/account のページに記載されてる。

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回でまとめて問い合わせるようにする。

参照

  • カテゴリ:
  • Tech
  • タグ:
  • js 

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++
  • カテゴリ:
  • Tech

Wlog 0.01 Release

Bloged at : 2010-05-13 23:39:43

Wlogとは


perlで書かれた Wiki + Blog ツールです。この記事自身もWlogを利用しています。普通のWikiでは、書き手が見て欲しいタイミングで、記事を読んでもらうのが難しいという問題があります。なぜなら、Wikiというのは一般的に複数のページに渡り少しずつ更新されていくため、完成度が高くなったタイミングというのをユーザに通知しづらいです。この問題を解決してくれるのがWlogです。読者の方に目を通して欲しいタイミングで、Wiki記事をBlogに公開することができます。

システム


perlで開発されており、ソース(0.01)はgithubにて取得し、誰でも利用することができます。 Plackを利用したPolockyというフレームワークを利用しているので、環境を選ばず利用することが可能です(mysql必要)

また、livedoor wiki記法を利用して記事を書くことができるので、HTMLをご存知ない方でも簡単に利用することができます*1

主機能

  • Blog機能
  • Wiki機能
  • カテゴリ機能。
  • サイドメニュー機能 。フリーエリア、最新記事表示、タグクラウド表示等を選択できます。
  • フッターフリーエリア機能。はてなスターのjsを記載したり等に利用できます。
  • 記事保存機能。更新毎に記事を圧縮して保存しており、リカバリーできます。*2
  • 記事プレビュー機能。記載した記事を編集中にプレビューすることができます。

利用したい、開発(デザインなど)を手伝いたい等あれば


IRCチャンネル、Twitter等で、気軽に聞いていただければと思います。

その他


このWlogは下記の構成で動いています。demontool をいれたいなと。
Starman -> PSGI(Polocky::WAF) -> Apache -> Browser
  • カテゴリ:
  • Tech
1 2 3 4 5