pintree是一个可以将浏览器书签转为导航网站的工具,但是其效果并不是那么地好,本文章打算对其进行一个改造。主要的一个目标是:完全地自动化更新书签
本次改造不是基于官方的pintree,而是基于
wynnforthework fork 的项目
主要原因在于该项目对原来的pintree进行了一遍改造,使其可以解析本地的google书签。(不过有些bug,例如图标不能显示)
因此主要的思路就比较明朗了:
- 我们使用dropbox作为主要的中介,前端通过dropbox 的api 获取到保存在dropbox 的书签json文件
- 本地通过一个定时任务定时地将本地的书签json文件上传到dropbox
对于第一步,这里不多赘述,主要是对wynnforthework的pintree项目进行一个改造,修复图标不能显示的bug,以及通过refresh_token 获取到access_token,再利用access_token获取到dropbox上的文件。具体代码可查看github,具体到效果可看网站
获取refresh_token:
- 再浏览器输入这个网址:https://www.dropbox.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code& token_access_type=offline,(client_id 为你的app key)进行授权,获取到 authorize_code
- 根据获取到的authorize_code获取到一个长久的refresh_token (建议使用代码进行请求,这里我使用了curl进行请求没反应)
1
2
3
4
5
>curl -X POST https://api.dropbox.com/oauth2/token \
-d code=<AUTHORIZATION_CODE> \
-d grant_type=authorization_code \
-d redirect_uri=<REDIRECT_URI> \
-u <APP_KEY>:<APP_SECRET>
对于第二步,以下是python代码上传文件到dropbox的实现,主要就是先通过refresh_token获取到access_token,再通过access_token将本地文件上传到dropbox
1 |
|
对于定时任务,由于我的是mac电脑,
可以使用
crontab -e
来创建一个定时任务创建mac上的plist文件,加载这个文件来进行一个定时任务
1 |
|
- 本文作者: leftover
- 版权声明: 本文版权归leftover所有,如需转载清标明来源!