はじめに
最近、家のことのto-do管理に、Google Tasksってサービスを使ってる。シンプルでいい感じなので。Google Homeから、追加できるとうれしいけれど、今のところ連携していない(はず)。自分で作ってみようかなと思い、とりあえず、Tasks APIをPythonから使ってみることにした。OAuth2.0がなんなのか、よくわからない状態で始めて、少しだけわかった気もした。GoogleのGUIDESに従って進めただけだけど、日本語の情報があまりなかったので、投稿することにした。
試したこと
あんまり、まとまらなかったので、やった順番に書く。
#1
これにしたがって、進めてみる。
Overview | Tasks API | Google Developers
#2
ここを読んでくと、APIs Explorerってのがあることを知る。
Ways to Get Started with Tasks API | Tasks API | Google Developers
こんな感じで、使いたいAPIを気軽に試せる。自分のやりたいことがほんとにできるのか、すぐ確かめられるのがいい感じ。
Google APIs Explorer
例えば、こんな感じで表示される。
All Versions > Tasks API v1 > tasks.tasklists.list
ちなみに、idってのが重要で、tasklistのtasksを見たいときは、tasklistのidを調べてから、それでgetする感じ。
#3
このあと、ここにしたがって、projectを作って、ぽちぽちした。
Write your First App: Prerequisites | Tasks API | Google Developers
#4
まずは、Simple APIってのでやろうと思ったけど、なぜかうまくいかなかった。
Loginしろとか言われる。わからん。
curl https://www.googleapis.com/tasks/v1/users/@me/lists?key={my API}
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
#5
あきらめて、OAuth 2.0ってのを少し勉強した。多少、分かった気になった。検索したのを、ちょっと読んだだけやけども。
#6
Pythonで試した。すんなりいった。そのまんま動いた。OAuth 2.0知らんくても大丈夫そうやった。
credentials.json
ってのにproject idとかいろいろ書かれてるのでうまいことやってくれてるみたい。必要になったら、ちゃんと仕組み調べよう。
Python Quickstart | Tasks API | Google Developers
こんな感じの結果が出て来る。
$ python quickstart.py
Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?
Task lists:
すること (id1)
アイデア (id2)
#7
あとは、Referenceみながら、やってくか。
API Reference | Tasks API | Google Developers
所感
Googleさん、ドキュメントすばらしい。
ただ、なんで、Google Homeというか、Google Assistantは、Tasksに対応してないんやろう。ショッピングリストいらんから、Tasksに対応してほしい。