Moves は iPhone 用のライフログアプリです。バックグラウンドで起動しておくだけで自分の歩いた軌跡、速度、時刻が記録されていきます。ご飯食べたりしてしばらくいた記録があれば、Foursquare と連携して詳細な場所を記録することも出来ます。
Moves
カテゴリ: ヘルスケア/フィットネス
価格: 無料
詳しいことはレビュー記事を参照してください。
Moves: 1日の行動を自動で記録。ポッケに入れて放置するだけでライフログがとれます。無料。 – たのしいiPhone! AppBank
http://www.appbank.net/2013/02/08/iphone-application/542263.php
大変便利なこのアプリですが、アプリ内の情報を外部に保存したり、他のアプリから利用することが出来なかったことが欠点でした。
それがいつの間にやら API が公開され、アプリの紹介ページまで出来ています。見たところ、Perl モジュールは誰も作ってなさそうなので作っちゃいました。
delphinus35/p5-Net-Moves
https://github.com/delphinus35/p5-Net-Moves
まだテストとか余り書いていないのでβバージョンです。ある程度まとまったら CPAN に置いてみます。
使い方
基本的には次のようにして使います。
my $moves = Net::Moves::V1->new( client_id => 'abcde12345', client_secret => '12345abcde' ); get '/' => sub { my $c = shift; return $c->render('index.tt', +{ authorize_uri => $moves->authorize, }); }; get '/auth/moves/callback' => sub { my $c = shift; my $access_token = $moves->access_token( code => $c->req->param('code'), redirect_uri => 'http://0:5000/auth/moves/callback', ); # save access_token to a session variable. $c->session->set(access_token => $access_token->session_freeze); return $c->redirect('/'); }; get '/moves/profile' => sub { my $c = shift; # get access_token from a session variable. my $user = $moves->user($c->session->get('access_token')); return $c->render('profile.tt', +{ user_id => $user->id, profile => $user->profile, }); };
sample/app.psgi
にサンプルアプリを置いていますので詳しくはそちらを見てください。