使用Python配合Evernote完成每周工作安排

標題圖

起因:

近期看Evernote API的時候發(fā)現(xiàn)印象筆記對Python非常友好貌亭,就試了一下各類操作柬唯。

剛好一直覺得用過的那些備忘认臊、代辦軟件功能太亂還不如拿記事本或者短信記。就用印象筆記寫一個锄奢,反正擺脫不了印象筆記失晴,就干脆都存在里面。

用過一段時間以后發(fā)現(xiàn)備份和檢索功能還不錯拘央,也可以把一些文檔做鏈接放進去涂屁。

其實身邊的API都可以通過Python用起來,簡單的利用也會有不錯的效果灰伟。

演示用的軟件可以在我的Github拆又,或者360云盤(0fe0)上下載。

演示視頻

我把簡單的演示放在了優(yōu)酷上栏账,如果對演示感興趣可以看下去帖族。

演示中沒有示范如何安裝evernote的包,pip install evernote一下就好了挡爵。

演示主要分為配置Secret Key竖般、使用、配置快捷啟動茶鹃,具體的文字說明我寫在了后面涣雕。

用途

  • 該玩具將會將上周的Memo(在Memo筆記本組中)備份到S-Memo筆記本組(如果有的話)
  • 用一份空白Memo替代舊Memo

配置

配置Python及程序

  • pip install evernote:安裝evernote包
  • pip install requests:如需要使用Oauth,安裝requests包
  • Memo樣式可以通過修改模板文件content.enex調整
  • 存放位置與工作安排的名字可以通過修改PackMemo.py 4-6行配置

配置Secret Key

  • 進入印象筆記官網(wǎng)登陸(其實也可以忽略這一步闭翩,但下面的網(wǎng)址鏈接不太穩(wěn)定)
  • 進入印象筆記開發(fā)者Token獲取開發(fā)者Token
  • 將獲取到的開發(fā)者Token添加到EvernoteController.py第21行單引號內(nèi)(->21 DEV_TOKEN = '')

使用

  • python PackMemo.py:將會自動登錄完成日志創(chuàng)建與存儲
  • Win+R pm <CR>:Windows系統(tǒng)內(nèi)配置好快捷啟動后即可使用

配置快捷啟動

  • Win+R %systemroot%/system32 <CR>:打開文件夾
  • PackMemo.bat創(chuàng)建快捷方式并重命名為pm
  • pm拖入文件夾

程序細節(jié)

EvernoteController.py

  • 示例程序:基本的筆記操作
e = EvernoteController()
e.create_notebook('Notebook1')
e.create_note('Hello', '<en-note>Hello, world!</en-note>', 'Notebook1')
e.create_notebook('Notebook2')
e.show_notes()
e.move_note('Notebook1/Hello', 'Notebook2')
e.show_notes()
e.delete_note('Notebook2/Hello')
# deleting notebook can only be available when you use developer token for your own evernote
e.delete_notebook('Notebook1')
e.delete_notebook('Notebook2')
e.show_notes()
  • 可以選擇是否開啟本地存儲與Oauth驗證(就是賬號密碼登陸)
  • 筆記指定方式通過myfile方法確定為Notebook/Note
  • 刪除操作僅在使用開發(fā)者Token時可以使用挣郭,否則僅能移入已刪除的文件文件夾(API限制)
  • 完整版EvernoteControler.py包含其余組件,如果感興趣可以再做研究

Memo.py

  • 通過替換將日期周數(shù)等內(nèi)容
  • 關于enex的文檔格式疗韵,文檔的內(nèi)容都在<en-note>標簽里面
  • 建議有什么需要的格式自己導出一份研究就可以了丈屹,這里是擴展閱讀

PackMemo.bat

  • 雖然演示視頻中把快捷方式直接放到了%systemroot%/system32下面,但還是得說伶棒,這不是一個好習慣
  • 建議確定一個別的文件夾旺垒,專門用來放各類快捷啟動,然后把這個文件夾加入環(huán)境變量
  • 沒準就有人覺得有用呢(攤手)

API

快速入門

  • 對于API如果想要有個全面的了解的話肤无,可以移步我的另一篇文章先蒋。
  • 整個API的框架分為OAuth(使用開發(fā)者Token的話直接獲取EvernoteClient即可)和常用方法
  • 僅是小應用的話可以不用了解OAuth
  • OAuth原意不是通過命令行實現(xiàn),但還是可以通過一定的方法實現(xiàn)宛渐,官方文檔見這里

權限

印象筆記有兩種權限類型竞漾,開發(fā)者權限和普通權限眯搭。

  • 開發(fā)者權限:沙盒內(nèi)與使用開發(fā)者Token(僅能操作本人賬號)時的權限,可以使用所有的方法
  • 普通權限:用戶可以通過輸入賬號密碼和點擊確認給予應用授權业岁,可以使用絕大部分方法鳞仙,具體操作見Oauth.py

獲得授權后會獲得一個Token,在各種方法中都會使用到

通過這個Token即可獲取EvernoteClient, userStore, noteStore

if SANDBOX:
    client = EvernoteClient(token=self.token)
else:
    client = EvernoteClient(token=self.token, service_host=SERVICE_HOST)
userStore = client.get_user_store()
noteStore = client.get_note_store()

基本方法

Function: NoteStore.deleteNote為例演示如何使用API笔时,以下為官方介紹:

Function: NoteStore.deleteNote

首先棍好,由于其為NoteStore類的方法,所以調用的方式為NoteStore.deleteNote(token, guid)

其次允耿,token為上述的開發(fā)者Token或者有興趣的話為OAuth獲取到的token

再次借笙,從圖中第七行可以看出,guid的為GUID of the note to delete较锡,下面是Note的介紹

Note

那么业稼,只要獲取到Note,就可以獲得guid蚂蕴。

所以低散,最后一步,這里牽扯到印象筆記的數(shù)據(jù)結構骡楼,了解即可

  • 通過NoteStore.listNotebooks獲取Notebook列表熔号,找到需要的Notebook的guid(和Note的guid不同)
  • 通過NoteStore.findNotes設置特定筆記本的NoteFilter獲取Note列表,找到需要的Note
  • 調用NoteStore.deleteNote方法即可以生效

值得一提的是君编,某些操作需要特殊的權限跨嘉,sandbox中和使用開發(fā)者Token時可以使用不代表外部可以使用

結束語

希望讀完這篇文章能對你有幫助,有什么不足之處萬望指正(鞠躬)吃嘿。

有什么想法或者想要關注我的更新祠乃,歡迎來GithubStar或者Fork

160304

LittleCoder

EOF

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兑燥,一起剝皮案震驚了整個濱河市亮瓷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌降瞳,老刑警劉巖嘱支,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挣饥,居然都是意外死亡除师,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門扔枫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汛聚,“玉大人,你說我怎么就攤上這事短荐∫幸ǎ” “怎么了叹哭?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長痕貌。 經(jīng)常有香客問我风罩,道長,這世上最難降的妖魔是什么舵稠? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任超升,我火速辦了婚禮,結果婚禮上柱查,老公的妹妹穿的比我還像新娘廓俭。我一直安慰自己云石,他們只是感情好唉工,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汹忠,像睡著了一般淋硝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宽菜,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天谣膳,我揣著相機與錄音,去河邊找鬼铅乡。 笑死继谚,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的阵幸。 我是一名探鬼主播花履,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挚赊!你這毒婦竟也來了诡壁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤荠割,失蹤者是張志新(化名)和其女友劉穎妹卿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔑鹦,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡夺克,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嚎朽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铺纽。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖火鼻,靈堂內(nèi)的尸體忽然破棺而出室囊,到底是詐尸還是另有隱情雕崩,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布融撞,位于F島的核電站盼铁,受9級特大地震影響,放射性物質發(fā)生泄漏尝偎。R本人自食惡果不足惜饶火,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望致扯。 院中可真熱鬧肤寝,春花似錦、人聲如沸抖僵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耍群。三九已至义桂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蹈垢,已是汗流浹背慷吊。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留曹抬,地道東北人溉瓶。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像谤民,于是被迫代替她去往敵國和親堰酿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容