打通Google keep,gkeepapi使用记录

起源

入手galaxy watch 4后一直在试探智能手表到底能做些什么,什么样的工具形式才是比较理想的状态。在我的理解里——抬腕、阅读、交互,这整个使用流程并不那么符合人类的操作习惯,缺少抓握这个肢体动作并没有一个强有力的操作开始的暗示,因此智能手表在我的定义里只能是辅助设备,不能成为一种高频、高沉浸的使用工具。

与其他设备的互通,承接数据记录、中转,用以填充一些低频使用场景的需求,这就成了我使用智能手表的目标,此外这种比较明确的使用边界我很喜欢,相对智能手机来说,工具和人的主次位置更加清晰明了。

galaxy watch 4采用定制化的wear os3,利用google play有很多应用拓展选项(当然也没那么多),自己瞎折腾的话也可能额外装一些有的没的内容,比如腕上bilibili,网易云音乐,节拍器等等,但碍于生态的缺陷,可玩性并没有想象的高,在手表上装一个视频应用对我来说实在匪夷所思,当然能在手表上看番谁都得兴奋一下!

说回来,生态的缺陷并没有特别让我体验到智能手表能有的一些辅助功能,本身我对它的使用场景还仅处于一种较为模糊的概念层面,除了健康数据监控,很难说有什么更多的实际想法落地了。如何和手机互通,还有哪些低频、可分离的使用场景?在我装上了google keep之后,一个把打卡这个低频的使用操作分离的想法出现了。


打什么卡?

wear os中keep可以与手机的keep互通有无,在keep设置好目标选项之后,可以在wear os里进行勾选,同时因为网页端的支持,只要有网,可以说三端的数据互通体验十分优秀。可惜的是,我并不用keep做日程规划之类的,办公场景中使用notion做一些简单的甘特度已经能满足我的需求。如果这么好的数据互通体验不用岂不是可惜了?

再细想一些打卡的使用场景,无非是目标的设定和达成目标的【打卡】记录,其实wear os上也可以找到一些应用设置一些目标然后进行每日打卡,甚至galaxy watch本身就有喝水记录之类的,但是吧,这些我都不用啊,不能说你有,我就要用,那我多没面子?于是乎本着定制化才是最终的完美产品的思想,我决定在keep的基础上弄一些有趣的东西,起源于之前我看到清明梦的相关内容——每天设定不同的关键词,当遇到关键词相关内容后反问自己是不是在做梦。记不清具体叫什么了,就简称“现实提示词”吧。

所以需求很简单,在keep里每日生成随机词,在手表里打卡,完美。因为keep本身就有良好的数据互动,那么问题就在于怎么在keep里每天生成随机词呢?

起初我打算用自己老旧的Pixle 2xl和Tasker完成一整套流程,但奈何Tasker压根没学好,用起来太麻烦了,也没找到能直接上传内容的active,只能放弃;转而投向web api,寻找官方api未果,但发现了个第三方google keep api库——gkeepapi,用我拉胯的python技能也能完美实现,bingo!


gkeepapi

github:https://github.com/kiwiz/gkeepapi

Docs:https://gkeepapi.readthedocs.io/en/latest/

gkeepapi使用起来极其简单,装个包,对着示例代码简单改一些,前后三、五分钟完成。因为我只用上传新的内容,也不涉及对内容的操作,真个代码简单至极,如下:

import gkeepapi,random

stingList = ['凳子', '平板拖', '手套', '百洁布', '清洁球', '海绵擦', '马桶垫/刷','刷子', '衣架', '水桶','杯子', '脸盆', '垃圾桶', '花盆', '喷雾器','卸妆水', '洗面奶', '牙膏', '洗发水', '沐浴露','身体乳', '去角质', '面膜','洗衣液', '浴巾','钥匙', '身份证', '耳机', '充电器', '纸巾', '零钱', '公交卡', '手机','毛衣', '衬衣', '半袖', '外套', '羽绒服', '西服', '胸罩', '裘皮', '马夹', 'T恤', '背心', '短裤', '裤衩', '内裤', '长裤', '西裤', '背带裤', '牛仔裤', '自行车', '摩托车', '公共汽车', '大客车', '三轮车', '出租车','虎', '狼', '鼠', '鹿', '猴', '树懒', '斑马', '狗', '狐', '熊', '象', '豹子','狮子', '羚羊', '驯鹿', '考拉', '犀牛', '穿山甲', '长颈鹿', '熊猫', '猩猩', '水獭', '猫',
 '海豚', '刺猬', '狐', '北极熊', '袋鼠', '河马', '海豹', '鲸鱼','电脑', '键盘', '鼠标', '手表', '笔记本', '铅笔', '水性笔', '口罩', '眼镜',  '手', '腿', '牙齿', '鼻子', '眼睛', '嘴巴', '跳舞', '唱歌', '吃饭', '睡觉', '上厕所', '跑步', '听音乐', '看电影', '散步', '逛街','拥抱', '微笑', '马尾辫', '发箍', '橡皮筋', '玩偶', '皮卡丘', '蜡笔小新', '扇子', '会议室', '情侣', '老人', '女孩', '男孩', '生物', '地理', '数学', '化学', '物理', '政治', '历史', '哲学', '宗教', '环卫工人', '面包', '米饭', '水饺', '面条', '粉丝', '小笼包']

listKeep = random.sample(stingList,4)

keep = gkeepapi.Keep()
username = 'google@gmail.com'
password = 'password'


keep.login(username,password)

note = keep.createList('今日事件',[(listKeep[0],False),(listKeep[1],False),(listKeep[2],False),(listKeep[3],False)])

label = keep.findLabel('今日事件')

note.labels.add(label)

keep.sync()

这里可能会抛出错误:gkeepapi.exception.LoginException: ('NeedsBrowser', 'To access your account, you must sign in on the web. Touch Next to start browser sign-in.')

主要是Google账密登录的机制问题,可以去账号设置( https://accounts.google.com/b/0/DisplayUnlockCaptcha )里开启二次验证,然后启用应用密码,将这里的password换掉即可。

window10上跑通,wear os 成功获得内容:


部署上服务器

打开Xshell,装上python3.7+和pip,装上gkeepapi库,运行!

嗯?怎么半天没反应呢?不对啊,然后意识到:靠,腾讯云连不上Google!转而换用来挂梯子的VPS,运行!

结果报错:ValueError: Timeout value connect was Timeout(connect=None, read=None, total=None), but it must be an int, float or None.

貌似是gkeepapi依赖requests库的版本问题,解决方案:

pip uninstall docker-compose, pip uninstall requests
pip install docker, pip install docker-compose

(卸了重装,万事大吉!)

再来!

结果是个匪夷所思的问题了:

gkeepapi.exception.LoginException: ('BadAuthentication', None)

看了github的issues反馈,遇到的人不在少数,有说要更新python版本的,有说因为linux环境的问题,总之稀里糊涂就是过不了登录这一环节。

前后淌了很多坑,最容易解决的办法是根据官方文档的登录缓存,从window上直接生成个token,然后利用token验证即可(反正linux上能用了,能保持几天我还没测试):

获取token,然后打印出来,再反手印在代码里,把login换成resume,启动!完美通过!


定时发送

定时就很简单了,Linux下利用crontab分分钟的事情:

sudo vim /etc/crontab
#在文档中加入
00 0 * * * root python3.8 /home/gkeep.py > home/log/auto.log

这里基本格式为:

* * * * * user command
分 时 日 月 周 用户 命令

00 0 就代表了每天0:00运行一次,因为VPS使用时区为UTC,滞后北京时间8小时,所以实际为每天8:00运行一次。


后记

目前来看使用中问题不大,但是嘛,也没多大的意义,一方面提示词在早上看完后就忘了=-=,另一方面keep在galaxy watch上不能直接以卡片的形式存在,每次都要进入应用后,选择文档再勾选,流程上让我深深怀疑自己,我的预期应该是把最新生成的内容作为卡片直接放在一级栏目里,果然定制化才是永远的神!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值