如何使用 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 格式(或付费版本中的其他格式)导出。在保持格式、附件等方面,我发现这种方式更容易且质量更高:
-
通过 Notes Exporter 应用程序以 HTML 格式导出(然后根据需要转换为 Markdown)。该应用程序为您提供 HTML 文件,其中包含以
.txt
扩展名 (?!) 保存的内联编码 Base64 图像。虽然我个人喜欢这种方式,因为它生成的输出文件与原始 Notes 非常相似,但导出的文件中缺少超链接(尽管它仍然保留超链接颜色):
.html
。
瞧,现在您的便笺作为 HTML 文件具有相同的格式和图像。
使用我为此编写的脚本解码内联 Base64 图像并保存 HTML 文件,其中图像保存在单独的相邻目录中:
https://gist.github.com/SHi-ON/945ea2272ea4bb29e13bd0305370da90
希望这有助于给你一个想法!
【讨论】:
以上是关于如何使用 pyiCloud 访问 iCloud 笔记的主要内容,如果未能解决你的问题,请参考以下文章
如何访问另一个应用程序的 iCloud 容器(使用另一个开发人员配置文件和在该配置文件中创建的 icloud 容器开发的应用程序)?
如何在特定文件夹中的 iCloud 上传图像并在目标 C 中以编程方式访问该特定文件夹
如何在没有 UIDocumentPickerViewController 的情况下访问所有 iCloud 驱动器文件(应用程序容器外)?