🐍

GoogleKeepの買い物リストをLINE通知する

2021/09/28に公開

モチベーション

家族間での買い物リスト共有のためだけに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。標準ライブラリ以外に必要なのは requestsgkeepapi のみ。

実行したところGoogleの認証で弾かれることがありましたが、FAQに対処方法が書かれているのでそちらを試すと解消されました。

Welcome to gkeepapi’s documentation! — gkeepapi 0.13.6 documentation #FAQ

Discussion