LoginSignup
8
8

More than 5 years have passed since last update.

PythonでGoogle Tasks APIを叩く

Last updated at Posted at 2019-01-28

はじめに

最近、家のことの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

image.png

例えば、こんな感じで表示される。
All Versions > Tasks API v1 > tasks.tasklists.list
image.png

ちなみに、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に対応してほしい。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8