GoogleKeepの買い物リストをLINE通知する
モチベーション
家族間での買い物リスト共有のためだけにGoogle Keepを利用しています。(Google Keep自体は便利なのですが)買い物リストとしては特に便利ということもなく、せめてリストに更新があった場合にLINE通知してほしい!と思い始めました。
そこでGoogle KeepのAPIを調べたところ、残念ながらGoogleKeep APIは2021/09/28時点ではエンタープライズ向けにしか公開されていないようでした。
Google Keep API | Google Developers
This API is an enterprise-only API used to create and manage the Keep notes within your domain, including resolving issues identified by CASB software.
うーん、残念。
ということで非公式のPythonライブラリ kiwiz/gkeepapi を使ってちょろっとスクリプト書いてみました。このライブラリは良くできていて使いやすかったので、その紹介もしたくzennに久々に書いてみた次第です。
gkeepapi
Welcome to gkeepapi’s documentation! — gkeepapi 0.13.6 documentation
ドキュメントを見るとわかるのですが、多くの機能がサポートされています。
- ノートの作成、取得、検索
- リスト形式のデータのchecked, uncheckedでフィルタしてのデータの取り出し(今回利用したもの)
- 色やピン留めなどのattributeの取得、操作
- 画像データの取得(※Google Keepは手書きで簡単な画像も作れます)
- ラベルの操作
- ノートの共有者の操作
- ノートの作成日時の取得
Google Keepでやりたいことは網羅されているように思います。もしGoogle Keepを使って何かしたいときにはおすすめです。
作ったもの
zono-dev/notify_shopping_list_gkeep
100行の短いスクリプト。
・買い物リストに追加があれば通知
・-f Trueで強制通知
・一つ前の買い物リストはpickleでデータそのまま保存してあり、実行時にロードする
これを定期的にcronなどで動かせばOK。標準ライブラリ以外に必要なのは requests
と gkeepapi
のみ。
実行したところGoogleの認証で弾かれることがありましたが、FAQに対処方法が書かれているのでそちらを試すと解消されました。
Welcome to gkeepapi’s documentation! — gkeepapi 0.13.6 documentation #FAQ
Discussion