splitbrain / remarkable-api
PHP 实现的 reMarkable 文件 API
Requires
- guzzlehttp/guzzle: ^6.3
- psr/log: ^1.0
- ramsey/uuid: ^3.7
- splitbrain/php-archive: ^1.0
Requires (Dev)
- splitbrain/php-cli: ^1.1
This package is auto-updated.
Last update: 2024-08-24 06:38:42 UTC
README
本项目旨在了解并记录 reMarkable Paper Tablet 用于在设备、桌面和移动客户端以及云服务之间同步文档所使用的 API。项目还包括一个 PHP 示例客户端实现。
该 API 允许您在与 reMarkable 平板不在同一网络或无法物理访问设备的情况下交换文件。这使得您可以创建自己的云服务。例如,可以将文件定期同步到其他服务如 Dropbox 的工具,或者您可以在工具中添加自动导出到 reMarkable 的功能。
API 文档
我在维基中尽力记录了我能了解到的 reMarkable 文件同步 API 的信息:[API 文档](https://github.com/splitbrain/ReMarkableAPI/wiki)
这应该会成为您实现自己的客户端时的一个良好起点。您还可以使用此存储库中的命令行客户端(见下文)以 --loglevel debug
选项运行,以查看 API 调用的实际效果。
请随时扩展和改进文档。
PHP API 客户端库
此存储库实现了一个与 reMarkable 文件 API 通信的 PHP 客户端。要在您的项目中使用它,请通过 composer 安装(目前只有 dev-master
可用,稍后将会引入版本控制)。
composer require splitbrain/remarkable-api
该库由三个类组成
splitbrain\ReMarkableAPI\ReMarkableAPI
- 这是主要的 API 接口,实现了在 [维基](https://github.com/splitbrain/ReMarkableAPI/wiki) 中描述的调用splitbrain\ReMarkableAPI\ReMarkableFS
- reMarkable 将所有信息存储在一个扁平的层次结构中,文档通过 UUID 进行标识。此类通过路径名(使用/
作为目录分隔符)使项目可访问splitbrain\ReMarkableAPI\Client
- 这只是一个围绕 Guzzle HTTP 客户端的一个薄包装,它添加了日志记录并处理身份验证
在实例化 ReMarkableAPI
对象后,在发出任何其他调用之前,您需要调用它的 register()
或 init()
。第一个调用将通过 8 位代码 注册您的客户端并返回一个 API 令牌。您需要将此令牌保存在某处并将其传递给 init()
以供后续调用。请查看 remarkable.php
中的命令行客户端以了解如何使用它。
命令行客户端
为了演示 PHP 客户端库的使用,项目包括一个命令行脚本。要使用它,请克隆此项目,然后使用 composer 初始化依赖项
composer install
运行以下命令以获取使用说明
./remarkable.php -h
目前实现了以下命令
register
- 将此应用程序注册为新的设备list
- 列出所有可用的文件delete
- 删除文件夹或文档mkdir
- 创建新的文件夹upload
- 上传新的 PDFdownload
- 下载文档