You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问笔记内容?调用getNoteContent遇EDAMNotFoundException求助

解决Evernote EDAMNotFoundException:传错GUID类型的问题

哦,这个坑我之前也踩过!你这里的问题核心太明确了——你把笔记本的GUID传给了需要单个笔记GUID的getNoteContent方法,难怪Evernote找不到对应的资源,抛出EDAMNotFoundException。

问题拆解

note_store.getNoteContent(developer_token, note_guid)的第二个参数要求的是单条笔记的唯一标识,但你传入的first_notebook.guid是整个笔记本的GUID,这俩完全不是一个东西。Evernote在笔记数据库里搜这个笔记本GUID,自然找不到对应的笔记,就报错了。

修正步骤

要导出笔记本里的所有笔记内容,得先拿到这个笔记本下的所有笔记GUID,再逐个调用getNoteContent:

  1. 获取笔记本内的笔记列表
    用findNotesMetadata方法(比findNotes更轻量,适合批量获取笔记标识):

    from evernote.edam.notestore.ttypes import NoteFilter, NotesMetadataResultSpec
    
    # 创建过滤器,指定要获取的笔记本GUID
    note_filter = NoteFilter(notebookGuid=first_notebook.guid)
    # 获取笔记元数据(这里取前100条,可根据需要调整)
    notes_meta = note_store.findNotesMetadata(
        developer_token,
        note_filter,
        offset=0,  # 分页偏移量
        maxNotes=100,  # 单次获取的最大笔记数
        resultSpec=NotesMetadataResultSpec(includeTitle=True)  # 按需获取额外字段
    )
    
  2. 遍历笔记GUID获取内容并保存
    拿到笔记元数据后,逐个提取GUID调用getNoteContent:

    for note in notes_meta.notes:
        try:
            # 用笔记的GUID获取内容
            content = note_store.getNoteContent(developer_token, note.guid)
            # 这里处理保存纯文本的逻辑,比如按标题命名文件
            with open(f"{note.title}.txt", "w", encoding="utf-8") as f:
                # 注意:Evernote返回的content是HTML格式,需要转成纯文本
                # 可以用BeautifulSoup之类的库解析提取文本
                # from bs4 import BeautifulSoup
                # soup = BeautifulSoup(content, "html.parser")
                # f.write(soup.get_text())
                f.write(content)  # 若直接保存原始HTML,后续再处理转纯文本
        except Exception as e:
            print(f"获取笔记 {note.title} 失败: {str(e)}")
    
  3. 分页处理大量笔记
    如果你的笔记本里超过100条笔记,需要循环调整offset参数,直到notes_meta.totalNotes等于已获取的数量为止。

快速验证方法

你可以先手动在Evernote客户端里找一条笔记的GUID(右键笔记→查看笔记信息),把这个GUID直接传给getNoteContent,如果能正常返回内容,就彻底确认是参数传错的问题了。

内容的提问来源于stack exchange,提问作者Eos2350

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:28:04