PythonでNike+の非公式APIを使ってみよう
みなさんNike+(http://nikerunning.nike.com/nikeos/p/nikeplus/ja_JP/)って知ってる?
最近ナイキのランニング用シューズを買ってその存在を知ったんだけど、これが結構な優れもの!
対応製品を購入して、センサーを靴の底にセットして走りだすと、ランニングした距離・ペース・時間・消費カロリーを記録してくれる。
そんでもってその情報をNike+の公式サイトで共有ができる。なかなか面白いでしょ?
Twitter・Facebookともリンクしてる、はずなんだけど情報をアップしても一向にTwitterにもFacebookにもポストしやがらねえ!
こうなったら自分でTwitter or Facebookにランニングの記録をポストするようにしたい!
というわけで調べてみたら非公式のNike+ APIが存在することを発見。
Connecting to the Nike+ API with C# : http://www.wroolie.co.uk/2008/05/05/13/
Nike+のWeb API : http://mg6t.blogspot.com/2008/07/nikeweb-api.html
とりあえず使ってみよう!
※事前にLive HttpHeaderあたりで自分のuserIDの確認が必要。
# -*- coding: utf-8 -*- import cookielib import urllib import urllib2 from BeautifulSoup import BeautifulSoup cj = cookielib.CookieJar() cjhdr = urllib2.HTTPCookieProcessor(cj) opener = urllib2.build_opener(cjhdr) loginurl = 'https://secure-nikeplus.nike.com/nikeplus/v1/services/app/external_profile_login.jsp' postdata = {} postdata['login'] = 'your mailaddress' postdata['password'] = 'your password' postdata['locale'] = 'ja_JP' #localeはja%5Fjpじゃ駄目 params = urllib.urlencode(postdata) #ログイン opener.open(loginurl, params).read() userID = 'your userID' runlist = 'https://secure-nikeplus.nike.com/nikeplus/v1/services/app/run_list.jsp?userID=%s' % userID soup = BeautifulSoup(opener.open(runlist).read()) print soup.prettify()
・実行結果
<?xml version='1.0' encoding='utf-8'?> <plusservice> <status> success </status> <runlist endindex="-1" startindex="0"> <run id="1214128616" workouttype="standard"> <starttime> 2010-04-29T22:14:08+09:00 </starttime> <distance> 3.9297 </distance> <duration> 1284000 </duration> <synctime> 2010-04-29T13:56:57+00:00 </synctime> <calories> 260.0 </calories> ・ ・ ・
これは公式でAPI出してもらいたいなあ。
面白いアプリができそうな予感。