从Workflowy到印象笔记

从Workflowy到印象笔记

Workflowy是一个极简风格的大纲写做工具,使用它提供的无限层级缩进和各类快捷键,能够很是方便的理清思路,写出一个好看而实用的大纲。以下图所示。python

从Workflowy到印象笔记

印象笔记更是家喻户晓,无人不知的跨平台笔记应用。虽然有不少竞争产品在和印象笔记争抢市场,可是印象笔记强大的搜索功能仍是紧紧抓住了很多用户。git

若是可以把用Workflowy写大纲的便利性,与印象笔记强大的搜索功能结合起来,那岂不是如虎添翼?以下图所示。
从Workflowy到印象笔记github

EverFlowy就是这样一个小工具。它能够自动把Workflowy上面的条目拉下来再同步到印象笔记中。若是Workflowy有更新,再运行一下这个小工具,它就会同步更新印象笔记上面的内容。Workflowy负责写,印象笔记负责存,各尽其能,各得其所。sql

介绍shell


Everflowy基于Python 3开发,代码托管在Github中,地址为:https://github.com/kingname/EverFlowy这个小工具在持续开发中,目前能够实现Workflowy单向同步到印象笔记和差别更新。因为印象笔记的Oauth验证方式须要申请才能对正式的帐号使用,但它又不会经过这种我的小工具的申请,因此目前暂时使用开发者Token。关于如何申请开通正式帐号的开发者Token,在后文会有详细的说明json

安装api


首先须要保证电脑中安装了Python 3,不然没法运行这个小工具。代码的依赖关系使用Pipenv来管理,因此须要首先使用pip安装pipenv:app

python3 -m pip install pipenv

有了Pipenv之后,使用Git把代码拉到本地再安装依赖:ide

git clone https://github.com/kingname/EverFlowy.git
cd EverFlowy
pipenv install
pipenv shell

运行了上面的4条命令之后,你的终端窗口应该以下图相似。
从Workflowy到印象笔记工具

Pipenv会自动建立一个基于Virtualenv的虚拟环境,而后把EverFlowy依赖的第三方库自动安装到这个虚拟环境中,再自动激活这个虚拟环境。

配置


在代码的根目录,有一个config.json文件,打开之后以下图所示。

从Workflowy到印象笔记

你须要修改三个地方,分别是username,password和dev_token。其中username和password分别对应了Workflowy的用户名和密码,而dev_token是印象笔记的开发者Token。

这里须要说明一下印象笔记的开发者Token。印象笔记的开发者Token有两套,分别是沙盒环境的开发者Token和生产环境的开发者Token。所谓沙盒环境,就是一个测试开发环境,这个环境是专门为了快速开发印象笔记App而设计的,它的地址为:https://sandbox.evernote.com。打开这个网址,能够看到页面上弹出了警告,以下图所示
从Workflowy到印象笔记

不管你以前是否有印象笔记的帐号,要使用沙盒环境,都必需从新注册。注册完成之后,经过访问https://sandbox.evernote.com/api/DeveloperToken.action获取沙盒环境的开发者Token。

关于印象笔记的沙盒环境,我将另外开一篇文章来讲明。本文主要介绍如何申请生产环境的开发者Token,从而可使用正式的印象笔记帐号。

在2017年6月之后,印象笔记关闭了生产环境开发者Token的申请通道,若是打开申请网址:https://app.yinxiang.com/api/DeveloperToken.action,你会发现申请的按钮是灰色的且没法点击。要解决这个问题,就须要让印象笔记的客服帮忙

登陆本身的印象笔记正式帐号,打开印象笔记首页,把页面拉到最下面,能够看到有一个“联系咱们”,以下图所示。

从Workflowy到印象笔记

进入“联系咱们”,点击“联系客服”,以下图所示。

从Workflowy到印象笔记

在联系客服的页面填写以下信息,最后一项“简要描述问题”填写“我须要基于印象笔记API开发,请帮我开通生产环境开发者Token”并提交。
从Workflowy到印象笔记

大约24小时内,就能够受到客服回复的邮件,以下图所示。

从Workflowy到印象笔记

此时再次打开https://app.yinxiang.com/api/DeveloperToken.action就能够申请开发者Token了,以下图所示。

从Workflowy到印象笔记
须要注意的是,开发者Token只会显示一次,因此你须要马上把它记录下来。

运行


有了生产环境的开发者Token之后,把它填写到config.json中,配置就算完成了。在终端输入命令:

python3 EverFlowy.py

程序就能够开始同步Workflowy的数据到印象笔记了。

同步完成之后,你会发现程序的根目录出现了一个history.db文件。这是一个sqllite的文件,里面就是你在Workflowy中的全部大纲内容和对应的印象笔记GUID和enml格式的内容。这是为了实现数据的差别更新而生成的。你可使用各类可以浏览sqllite的工具来查看里面的内容。

已知问题


  • 若是删除了history.db,那么再次运行Everflowy,Workflowy中的全部内容都会再次写入印象笔记。
  • 若是单独删除了EverFlowy写入印象笔记中的某一条目,却不删除history.db中的对应条目,WorkFlowy会由于找不到GUID而抛出异常。
  • 没有测试国际版印象笔记帐号是否可用。
  • 如过你想测试沙盒环境的开发者帐号,请修改evernote_util/EverNoteUtil.py第98行,把
client = EvernoteClient(token=self.dev_token, sandbox=False, service_host='app.yinxiang.com')

修改成:

client = EvernoteClient(token=self.dev_token)
相关文章
相关标签/搜索