通过Ruby访问Evernote API

时间:2012-02-28 23:57:02

标签: ruby api evernote

我在Evernote中有一堆笔记,我想以Rubyish方式访问(而不是仅使用Web界面)。我以为我会使用这个gem(https://github.com/cgs/evernote),这是“...围绕Evernote的Thrift生成的ruby代码的高级包装。它捆绑了Evernote的thrift生成的代码并创建一些简单的包装类。“

我有一个开发人员密钥,这里的示例代码(https://github.com/cgs/evernote/blob/master/example.rb)有效,为我的沙箱笔记本提供了正确的名称。

但是,我不明白下一步该做什么。通过“简单的包装类”,我期待Evernote :: EDAM :: Type :: Notebook对象是一些可以使用块来查询的Enumerable对象。我不知道,像

notebook.select {| note | note.tags =='foo'}

但是当我在IRB中执行notebook.TAB TAB技巧来查看可用的方法时,没有类似的东西。 gem的作者将用户引用到http://www.evernote.com/about/developer/api/ref/的Evernote API,我无法做出正面或反面的事情。在我完全理解THRIFT之类的内容之前,我是不是运气不好,或者是否有一个我无法看到的方法的简单列表?

2 个答案:

答案 0 :(得分:4)

你不应该学习任何有关Thrift的知识。数据模型包装类(Note,Notebook,Tag等)基本上都是哑结构;练习它们的方法是在端点类UserStore和NoteStore上。例如,要获取笔记本列表,请拨打NoteStore.listNotebooks。您可以在ruby / sample下的SDK中看到一些示例。

答案 1 :(得分:1)

我最近遇到过这个问题,使用Ruby访问Evernote API。以下列表可能有所帮助:

我写了一个演示,使其更加具体和直接。