読者です 読者をやめる 読者になる 読者になる

日々常々

ふつうのプログラマがあたりまえにしたいこと。

Zusaar APIをGroovyで叩いてみる

Groovy

殆ど ATND APIをGroovyで叩いてみる - 日々常々 と同じです。
ZusaarとATNDのAPIを使う上で違ところは殆どないので、「殆どそのままです」ってネタ。


「殆ど同じだから共通化」と考えるかもしれませんが、この場合は違う概念のものなので共通化しちゃいけないパターン。だから「残念だけどコピペ実装」が適切だと思ってたり。

コード

def jsonText = new URL('http://www.zusaar.com/api/event/?ym=201107&count=100').getText('UTF-8')
def res = new JsonSlurper().parseText(jsonText.replaceAll('"description":".+?",',''))
res.event.sort {it.started_at}.each {
    println "${it.started_at[0..9]} ${it.title}"
}

躓きそうなところは二点だけ。

  • 取得する時に「UTF-8」が要った。
  • レスポンスが events じゃなく event。*1

あと地味なネタなんですが、アドレスの event/? を event? にするとエラーになります。ATNDはどっちでもよかった。

実行結果

2011-07-01 今日からできる起業家のための税金対策マル秘セミナー
2011-07-01 Hbase at FaceBook
2011-07-01 Hbase at FaceBook(仮)の二次会
2011-07-02 Coworking=みんなで仕事をしよう!! プレオープン@PhilPort
2011-07-02 Google App Engineハッカソン(東京)
2011-07-02 appengine ja night #17
2011-07-06 港区サロン
2011-07-08 外見力10倍アップ!カラーとメガネの法則
2011-07-08 ブックエクスチェンジ(大阪・2011夏)
2011-07-09 いろいろチューニングしてパフォーマンスを競うバトルイベント開催!「Tuningathon」
2011-07-09 Ruby on Rails入門 1日集中講座 @関西
2011-07-09 【中川流】Webデザイン・ディレクション道場(名古屋)
2011-07-09 SPECIAL ESSENCE feat.Fumiya Tanaka
2011-07-10 油山苑落語会(温泉・お弁当・落語のトリプル楽デー)
2011-07-13 foursquare meetup tokyo # 5
2011-07-15 なぜあの店は繁盛しているのか?
2011-07-15 JPSA船橋支部一周年記念講演会
2011-07-17 浴衣でクルージング
2011-07-19 チームリーダーのための交流分析/NLP体験講座
2011-07-19 成功に導く経営戦略術 体験講座
2011-07-20 Hadoop Unconference Tokyo #1 at EC-ONE
2011-07-21 生徒のやる気がみるみる上がる!モチベーションアシスト体験講座
2011-07-23 経堂ビリヤニ
2011-07-24 蔵前屋形船飲み2011 夏
2011-07-26 生徒が自発的に学習計画できる!プランニングアシスト体験講座
2011-07-27 授業でも使える経営戦略術 体験講座
2011-07-28 先生のための交流分析/NLP 体験講座
2011-07-29 経営数字と経営戦略の仕組みをいっぺんに理解する体験講座

「7月全部」なんですけど、28件。取り漏らし無いよね?まだまだ少ないですねー。

*1:ATNDはAPIリファレンスではeventって書いてるのにeventsになってる。Zusaarではリファレンス通り…。