Google AJAX Feed APIでブックマーク表示
例によってすぐに飽きるのだろうけれど、前回の続きで、Simpyでの最新10件のブックマークを当ブログのサイドバーに表示させてみることにした。
SimpyはRSS2.0でこれまでのブックマークを吐き出してくれることから、Google AJAX Feed APIを導入すれば簡単にできる。
まずは同APIのキーを同APIのサイトから頂戴して、Serene Bachのテンプレート編集で、HEAD要素内に次のとおり追加。
<script type="text/javascript" src="http://www.google.com/jsapi?key=俺のAPIキー"></script>
次に、外部JavaScriptファイルに次の関数を追加。
function initialize() {
var feed = new google.feeds.Feed('http://www.simpy.com/rss/user/俺のユーザ名/links/');
feed.setNumEntries('10');
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById('simpy');
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var myli = document.createElement('li');
var mytitle = entry.content.replace(/\n/g,'').replace(/<img.*$/,'').replace(/\s{2,}/g,'').replace(/&/g,'&');
myli.innerHTML = entry.title.link(entry.link);
myli.firstChild.target = '_blank';
myli.firstChild.setAttribute('title', mytitle);
container.appendChild(myli);
}
}
});
}
最後に、再度テンプレート編集でサイドバーに次のDL要素を追加。
<dl>
<dt><a href="http://www.simpy.com/user/俺のユーザ名" target="_blank">My Faves@Simpy</a></dt>
<dd>
<script type="text/javascript">
google.load('feeds', '1');
google.setOnLoadCallback(initialize);
</script>
<ul id="simpy"></ul>
</dd>
</dl>
Comments