R筋

プログラミングと時々育児

【raspberry pi】Google Home を Google Keepと連携させる

メモアプリGoogle Keepはめちゃんこ便利だが、他のgoogleサービスとの連携という意味では、全く機能がなく、Google Calenderとの連携や他のユーザと共有ができるといいのになぁと常々感じる。

デベロッパーの掲示板を見ると5年前からいろんな人がAPI作れ作れ言っているものの一向に作られる様子もないことから、今後もGoogle Keepの外部機能が充実することはないだろう。
https://issuetracker.google.com/issues/36760910

だが、非公式APIならあるらしい!ヤッター!
f:id:anpontan382:20180820235554p:plain

こちらが、非公式APIのgkeepapi。pythonで使えるライブラリになっている。
github.com

こちらに詳しい使い方が載っている。
Welcome to gkeepapi’s documentation! — gkeepapi 0.1.0 documentation

これを参考に、Google Homeに話して、Google Keepにメモを取る機能を作ってみた。
とはいえ基本的なデータ連携は、過去になんどもやっている特定のワードに対して、IFTTTからWebHockを飛ばして、Firebaseに通知するというもの。それをRaspberry pi で読んで、gkeepapiがGoogle Keepを更新する。
anpontan382.hatenablog.com
f:id:anpontan382:20180821083500p:plain

googlekeep.pyをこんなカンジで作る。
コマンドライン引数にメモしたいことを指定して実行すると、Google keepに投稿できる。

# coding: utf-8
import gkeepapi
import sys

args = sys.argv
comment = "".join(args[1:])
#第2引数以降を結合してコメントとする

keep = gkeepapi.Keep()
success =keep.login('userID','Password')
#ログイン
note = keep.createNote('google home', comment)
#新しいメモを作成
keep.sync()
#同期