Skip to content
11月 14 / rakkyoo

Remember the MilkのAPIキーの取得〜pyrtmを使えるようにするまで

pyrtmを使って,Remember the milkのAPIを操作する場合は,下準備として

  1. APIキーを取得する
  2. トークンを取得する

っということをしないと使えません.
これらの取得とAPIの試しを備忘録です.

1. APIキーの取得

pyrtmなどから,Remember the milkのAPIを使うためには,APIキーをまずはもらわないと使えません.

そこで,

ここから,APIキーをもらいます.
スクリーンショット 2012 11 14 9 58
個人で使う分には,商用ではないので,この「Apply for a non-commercial API key」からキーの申請をします.

1
2
3
4
5
6
7
8
Hi there,
 
Thank you for requesting a Remember The Milk API key for non-commercial use.
 
YOUR KEY
 
Your api_key is: ----------------------------------
Your shared secret is: --------------------

待っていると,こんなメールが来るので,

  1. api_key
  2. shared secret

をメモしておきます.

2. トークンの取得

pyrtmをダウンロードして,解凍したディレクトリ内にある「app.py」を使います.私の環境では,

1
2
 
~/Downloads/pyrtm-0.4.1/src/rtm/samples

ここでした.

「app.py」を実行します.

1
2
$ cd ~/Downloads/pyrtm-0.4.1/src/rtm/samples
$ python app.py [api_key] [shared secret]

ここで,[api_key] [shared secret]は,取得したキー(メールで取得)を入力します.

すると,,,

1
2
3
No token found
Give me access here: http://www.rememberthemilk.com/services/auth/?perms=delete&frob=*****************************************************************************************
Press enter once you gave access

こんな感じに,トークンがないので,「書いてあるサイトにアクセスしてから何か押して」っと言うので,その通りにすると,
スクリーンショット 2012 11 14 10 13
こんなサイトが出てきて,トークンがターミナル上に表示されます.

このトークンをメモしておきます.

これで,無事に「api_key」「shared secret」「token」の3つがそろったこととなり,これをメモしておけば,APIが使えるようになります.

3. 試してみる

まずは,先の「app.py」をトークン入りで使ってみると.

1
$ python app.py [api_key] [shared secret] [token]

とするだけで,
スクリーンショット 2012 11 14 10 18
こんなGUIが出てきます.「1週間以内のタスクはないよ」っと.
1週間以内が期日のタスクがRemember the milk上にある場合は,ここに表示されるみたいですね.

次に,先程のapp.pyをちょこっと変えてみます.
細かいことは置いておいて,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# encoding: utf-8
# pyrtmのテスト:「pyrtm_test.py」
import rtm
 
my_rtm = rtm.createRTM(u"ここにapi_keyを入力する",u"ここにshared secretを入力する",u"ここにtokenを入力する")
rspLists = my_rtm.lists.getList()
print "****************************"
print "*** 登録されているリスト ***"
for l in rspLists.lists.list:
    print l.name #=> 登録されているリストが表示される
print "****************************"
 
rspTasks = my_rtm.tasks.getList(filter='status:incomplete') #=> 未完了のタスクを抽出
tasks = []
if hasattr(rspTasks.tasks, "list") and hasattr(rspTasks.tasks.list, "__getitem__"):
    for l in rspTasks.tasks.list:
        # XXX: taskseries *may* be a list
        if isinstance(l.taskseries, (list, tuple)):
            for t in l.taskseries:
                tasks.append(t.name)
        else:
            tasks.append(l.taskseries.name)
 
for each_task in tasks:
    print each_task #=> 未完了のタスクが表示される

これを実行すると,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ python pyrtm_test.py
****************************
*** 登録されているリスト ***
Inbox
Sent
すべてのタスク
リスト1
リスト2
・・・
****************************
タスク1
タスク2
タスク3
・・・

となります.
とっても簡単にRemember the milkの情報にアクセスできるようになりました.
自分の使い方にあわせて,プログラムを組むのが楽しみに...

[`twib` not found]

Leave a comment

CAPTCHA


This blog is kept spam free by WP-SpamFree.