2008/02/26


ネットユーザ個々のWeb情報をアカウント個々に共有出来るサービスfooo.nameが誕生しました。
fooo.name!!!
もちろんAPIも用意されており、指定アカウントが保持しているサブアカウント情報やフィード情報も、XML,JSON,RSS,ATOM等といったフォーマットで取得する事が出来ます。
今日は、このfooo.nameからアカウントが保持する全フィードを取得し、そのコンテンツから任意の文字列を検索する事で
気になるアノ人の、気になるアノ言及を検索するWebアプリ
を作ってみました。
まず、fooo.nameのAPIで、アカウントに対するフィード一覧を取得します。
私mattnであれば
http://fooo.name/accounts/mattn/feeds
となります。フォーマット指定が出来ますので、「?format=json」を指定して、jsonオブジェクトを取得します。これをGoogle Ajax Feed APIを使用してコンテンツ取得し、そのコンテンツ内から任意の文字列を検索します。
なんだか最近、ライブラリが豊富で色んな事が簡単に出来てしまいますね。

以下、ソースと動作例です。

続きを読む...

Posted at by



2008/02/07


あわせて読みたいがRSSとJSONを出されている様です。
試しに使ってみました。
コードはこんな感じ。
<script type="text/javascript"><!--
function awasete_yomitai(data) {
    var d = document;
    var container = d.getElementById('awasete_content');
    while(container.hasChildNodes())
        container.removeChild(container.firstChild);

    var ol = d.createElement('ol');
    for(var n = 0; n < data.length; n++) {
        var li = d.createElement('li');
        var favicon = d.createElement('img');
        favicon.src = data[n].favicon;
        li.appendChild(favicon);
        li.appendChild(d.createTextNode(' '));
        var anchor = d.createElement('a');
        anchor.appendChild(d.createTextNode(data[n].title));
        anchor.href = data[n].url;
        li.appendChild(anchor);
        li.appendChild(d.createTextNode(' '));
        var awasete = d.createElement('a');
        awasete.appendChild(d.createTextNode('[ナビゲーション]'));
        awasete.href = data[n].navigation;
        li.appendChild(awasete);
        li.appendChild(d.createTextNode(' '));
        var more = d.createElement('a');
        more.appendChild(d.createTextNode('[もっと見る]'));
        more.href = data[n].more;
        li.appendChild(more);
        ol.appendChild(li);
    }
    container.appendChild(ol);
}
function awasete_yomitai_do(url) {
    var s = document.createElement('script');
    s.charset = 'utf-8';
    s.src = 'http://api.awasete.com/showjson.phtml?u=' + encodeURIComponent(url);
    document.body.appendChild(s);
}
--></script>
<a href="javascript:awasete_yomitai_do('http://mattn.kaoriya.net');void 0">あわせて読みたい</a>
<div id="awasete_content"></div>
実行確認。
[あわせて読みたい]を表示

callback指定出来ないのが少し悲しい。
Posted at by



2008/01/31


こりゃすげ。
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jp
Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
これで色んなことが出来るようになるし、グリースモンキーに頼っていたクロスドメインな処理がJSONだけで出来るようになる。
これまでにも同様の事が出来るサービスはあったけど、Yahoo! Pipesがサポートしたってのは強い。
試しにYahoo! JapanのHTMLをレンダリングするサンプルを作ってみた。
以下コード
<script type="text/javascript"><!--
function on_load_document(data) {
    document.getElementById('yahoo_html').innerHTML = data.value.items[0].description;
}
function load_document() {
    var url = 'http://www.yahoo.co.jp/';
    var s = document.createElement('script');
    s.charset = 'utf-8';
    s.src = 'http://pipes.yahoo.com/poolmmjp/page_loader?url=' + encodeURIComponent(url) + '&_render=json&_callback=on_load_document';
    document.body.appendChild(s);
}
--></script>

<input type="button" onclick="load_document()" value="Yahoo! Japanを表示">
<div id="yahoo_html"></div>
実行結果は↓

続きを読む...

Posted at by