Remember the milkのAPIで遊ぶ
30分プログラム、その345。Remember The Milk: Online to-do list and task managementのAPIで遊んでみる。特に作りたいアプリは無いので、rtm.test.echoを使った贅沢なechoを作ってみた。
APIはRESTなので
http://api.rememberthemilk.com/services/rest/?method=<method>&api_key=<api>&arg1=val1
みたいにするだけでOK。format=json
を付ければ、結果をJSONで受けとれる。
ところで、各ファイルの拡張子がrtmになってる。芸が細かい。
使い方
$ perl rtm.pl echo echo
ソースコード
Perlでハッシュをマージするには、
my %hash = (%hash1,%hash2);
でいいらしい。すげー。
#! /usr/bin/perl # -*- mode:perl; coding:utf-8 -*- # # rtm.pl - # # Copyright(C) 2008 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2008/08/13 23:24:51 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # use strict; use warnings; use LWP::Simple; use JSON::XS; use Data::Dumper; my %default = ( 'api_key' => '<api_key>', 'format' => 'json'); sub request($%){ my ($method,%params) = @_; %params = (%default,%params,'method'=>$method); my $param = join('&',map { "${_}=${params{$_}}" } keys %params); my $url = 'http://www.rememberthemilk.com/services/rest/?' . $param; decode_json get($url); } my $response = request('rtm.test.echo','msg'=>$ARGV[0]); print $response->{'rsp'}->{'msg'},"\n";