splitbrain/remarkable-api

PHP 实现的 reMarkable 文件 API

dev-master 2023-04-24 03:45 UTC

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 - 上传新的 PDF
  • download - 下载文档