如何使用 pyiCloud 访问 iCloud 笔记

Posted

技术标签:

【中文标题】如何使用 pyiCloud 访问 iCloud 笔记【英文标题】:How to access to iCloud Notes with pyiCloud 【发布时间】:2020-07-02 14:47:42 【问题描述】:

我正在尝试使用pyiCloud framework 使用 python 脚本访问我的 iCloud 便笺,但是当我尝试列出便笺时,似乎 Documents 文件夹为空。有谁知道我应该怎么做?

>>> api.files['com~apple~Notes']['Documents'].dir() 它返回:

>>> []

【问题讨论】:

【参考方案1】:

听起来您遇到了无法从文件存储(UbiquityService)访问您的笔记的身份验证问题。 This issue 可能会给你更多线索。

另一方面,我发现以下是导出我的笔记的更好方法。我尝试了网络上提到的几种方法。虽然没有应用内解决方案以 PDF 文件以外的格式导出笔记,但我偶然发现了以下两种解决方案:

    通过熊掌记以 Markdown 格式(或付费版本中的其他格式)导出。在保持格式、附件等方面,我发现这种方式更容易且质量更高:
从here 下载 Bear 迁移工作流脚本并按照说明进行操作。 [可选] 此时,您拥有了带有内联编码图像的 html 文件。使用my script 对图像进行解码,以获取带有图像的常规 HTML 文件。 安装 Bear 并从 Notes 导入导出的文件。 将文件导出为 Markdown、HTML 或任何您想要的格式,从熊掌记应用程序中的文件 -> 导出笔记。不要忘记选中导出对话框中的“导出附件”框。
    通过 Notes Exporter 应用程序以 HTML 格式导出(然后根据需要转换为 Markdown)。该应用程序为您提供 HTML 文件,其中包含以 .txt 扩展名 (?!) 保存的内联编码 Base64 图像。虽然我个人喜欢这种方式,因为它生成的输出文件与原始 Notes 非常相似,但导出的文件中缺少超链接(尽管它仍然保留超链接颜色):
从 here 下载 Notes Exporter。 将笔记导出到您选择的路径。 [可选] 将文件扩展名重命名为.html。 瞧,现在您的便笺作为 HTML 文件具有相同的格式和图像。 使用我为此编写的脚本解码内联 Base64 图像并保存 HTML 文件,其中图像保存在单独的相邻目录中: https://gist.github.com/SHi-ON/945ea2272ea4bb29e13bd0305370da90

希望这有助于给你一个想法!

【讨论】:

以上是关于如何使用 pyiCloud 访问 iCloud 笔记的主要内容,如果未能解决你的问题,请参考以下文章

如何访问另一个应用程序的 iCloud 容器(使用另一个开发人员配置文件和在该配置文件中创建的 icloud 容器开发的应用程序)?

从 iCloud 帐户访问用户个人资料图片

如何在特定文件夹中的 iCloud 上传图像并在目标 C 中以编程方式访问该特定文件夹

如何在没有 UIDocumentPickerViewController 的情况下访问所有 iCloud 驱动器文件(应用程序容器外)?

在 iOS 中访问 iCloud 文档

如何在 OSX sdk 中获取 iCloud 用户信息?