evernote api のメモ

概要

自分のPCの中に、これまでに読んだ/これから読みたい論文が一つのディレクトリにまとめて沢山ある。これらを、Evernoteに全部アップロードしてしまおうと思いたち、PythonからEvernote APIをいじってみたので、メモと作りかけスクリプトを置いておく。
Evernoteの中に論文が入っていると、

  • 論文ファイルと論文に関するメモをまとめて保管出来る
  • メモの有無で未読/既読が判定出来る
  • タグを付けれる
  • 検索が利く

ので、結構便利だと思う。

メモ

以下、evernote apiを使った時のメモ

  • sandbox
    • 本番と同じ機能だけど本番とは別の場所に隔離されているテスト用環境
  • OAuth
    • サードパーティ製アプリがユーザのパスワードを知ること無くユーザの資産に対して許可されたアクションを起こすために必要な認証
  • Developers token
    • 自分一人用のちっちゃなスクリプトなら、OAuthを実装しなくても、EvernoteにDevelopers tokenを発行してもらえば良い。
    • sandobx用と本番用がある
  • UserStore, NoteStoreの2つの大きなサービス
    • UserStore
      • アカウント情報
      • これを通じてNoteStore等のデータを取得
    • NoteStore
      • 実際のデータ
      • こっちのAPIをいじって、ノートの中身を取得したり、新規ノートを作ったり。
  • ノートブックはGUID(globally unique id)を指定して取得
  • ノートは、検索語・ノートブックのGUID・タグのGUID等を指定してリストの形で取得

作りかけのスクリプト

evernote-dirsync

  • 指定したディレクトリ下の指定した拡張子のファイルを全部アップロードする
  • アップロード済みのファイルはアップロードしない
    • アップロード済みか否かの判定は、ノートのタイトル == ファイル名
  • アップロード制限容量のチェックはしてない(TODO)