gpt4 book ai didi

python - 印象笔记更新笔记资源

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:09 24 4
gpt4 key购买 nike

我正在使用 Evernote API for Python 创建一个允许用户创建和更新笔记的应用程序,但我无法理解如何有效地更新 Evernote 资源。这主要发生在我从 HTML 转换为 ENML(Evernote 标记语言)时,我正在从 img 标签创建资源(现在我只考虑图像资源)。

我的问题是:在给定 HTML 的情况下,我如何判断笔记的资源是否需要更新?我考虑过将图像数据与所有当前资源的数据进行比较,但这似乎真的很慢。现在我只是为每个 img 标签创建一个新资源。

我发现的一些有用资源包括 Evernote resources guidethis sample code in the Evernote SDK .任何建议表示赞赏。

最佳答案

最好的方法是比较文件的 MD5 哈希值。 Evernote 笔记通过其 MD5 哈希来跟踪资源。

要查看附加到 Evernote 笔记的文件的 MD5 哈希值,只需查看标记为“en-media”的 ENML 元素,标签的形式如下所示:

 <en-media type="mime-type" hash="md5-of-file" />

mime-type 是文件类型,md5-of-file 是文件的 MD5 散列值。要获取注释的 ENML,请调用 getNote(此处为文档)并确保指定您想要的内容。注释的 ENML 内容是 getNote ( a note object ) 返回的对象的 content 属性的值。

虽然哈希值可能很昂贵,但 MD5 相对较快,计算文件的 MD5 哈希值比等待网络下载图像要快。

另外,updateResource method documentation说:

"Submit a set of changes to a resource to the service. This can be used to update the meta-data about the resource, but cannot be used to change the binary contents of the resource (including the length and hash). These cannot be changed directly without creating a new resource and removing the old one via updateNote."

因此,“更新”资源的唯一方法是从笔记中删除旧资源并在其位置创建新资源。您可以通过删除 Resource Object 来删除资源来完成此操作来自相关注释的资源属性中包含的列表。要添加新注释,只需将新资源对象添加到同一列表即可。

关于python - 印象笔记更新笔记资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23862267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com