【问题标题】:How do I call the evernote struct object to report all notes inside a notebook?如何调用 evernote struct 对象来报告笔记本中的所有笔记?
【发布时间】:2016-07-24 20:04:30
【问题描述】:

我正在研究 ruby​​ evernote-thrift API 和沙盒。

我在解释文档时遇到了一些问题;我正在尝试从特定笔记本中的所有笔记中检索主题行。

要获取我调用的笔记本的名称 notebooks = noteStore.listNotebooks(authToken) 然后在 notebooks 上运行 .each。根据文档,有一个名为 noteList 的结构对象,但我不知道如何使用它。

这是我试图利用的文档区域的链接http://www.rubydoc.info/gems/evernote-thrift/Evernote/EDAM/NoteStore/NoteList#struct_fields-instance_method

我的尝试如下,但它没有返回任何东西。不幸的是,我根本不熟悉结构。

notebooks = noteStore.listNotebooks(authToken)

notebooks.each do |notebook|
  next if notebook.name != 'First Notebook'

  notes = notebook.noteList
  noteList.each do |note|
    puts note
  end
end

我收到一个无方法错误...这是有道理的,因为它是一个我只是不知道如何利用它的结构...

undefined method `noteList' for <Evernote::EDAM::Type::Notebook:0x007fb2041683f8> (NoMethodError)

【问题讨论】:

    标签: ruby evernote


    【解决方案1】:

    为我们的 Ruby SDK 生成的文档令人困惑(抱歉!),但我发现一般文档更清晰:https://dev.evernote.com/doc/reference/

    正如您在https://dev.evernote.com/doc/reference/Types.html#Struct_Notebook 中看到的,Notebook 对象没有名为noteList 的属性。有一个名为NoteList 的结构,但这是删除的NoteStore.findNotes 返回的结构。

    在 notebook 中获取笔记的标题/主题的过程是获取 Notebook(您已经完成),然后将 notebook 的 guid 传递给 NoteStore.findNotesMetadata (https://dev.evernote.com/doc/reference/NoteStore.html#Fn_NoteStore_findNotesMetadata)。这将返回一个NotesMetadataList,它有一个notes 属性,它是NoteMetadata 的列表。该结构具有标题和 GUID 等元数据,但没有正文。如果您需要完整信息,请将 GUID 传递到 NoteStore.getNote (https://dev.evernote.com/doc/reference/NoteStore.html#Fn_NoteStore_getNote)。

    【讨论】:

    • 这确实是有史以来最令人困惑的文档,即使是一般文档:(不过我会继续努力。
    • 有什么办法可以让我得到一个可行的例子,不幸的是,我每时每刻都会遇到困难。现在我被困在了 findNotesMetadata 所依赖的 NotesMetadataResultSpec 上...... :(
    【解决方案2】:

    该 API 是我见过的最少 Ruby 的东西之一。你有我的哀悼试图通过那个:)

    从 API 文档中,就实例方法而言,我所看到的与 Evernote::EDAM::Type::Notebook 类有关的只是#struct_fields 和#validate。也许那个 struct_fields 有你要找的东西?

    如果这不会让您有任何问题,我建议您使用 Pry 之类的工具来帮助您解决错误。我会在第二行添加binding.pry 声明,然后从那里探索笔记本对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      相关资源
      最近更新 更多