十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Plexus REST API 完整参考:从查询应用到删除评分的所有端点一览

Plexus REST API 完整参考:从查询应用到删除评分的所有端点一览 Plexus REST API 完整参考从查询应用到删除评分的所有端点一览【免费下载链接】plexusRemove the fear of Android app compatibility on de-Googled devices.项目地址: https://gitcode.com/gh_mirrors/ple/plexusPlexus 是一个去 Googlede-GoogledAndroid 设备上的应用兼容性众包项目它通过一套开放、简洁的 REST API让你能查询 App 在原生或 microG 环境下的评分、提交新评分并用删除令牌安全地撤销自己的评分。本文完整梳理 v1 版本全部端点认证方式、查询参数、请求字段与响应结构帮你快速上手集成。先看懂 Plexus 数据模型 在调 API 之前先理解两个核心概念App应用以 Android 包名如org.thoughtcrime.securesms作为唯一标识包含名称、图标等信息。定义见 lib/plexus/schemas/app.exRating评分某设备用户在特定 ROM 环境下对一个 App 的兼容性打分score取值 1~4rating_type分为native原生和micro_gmicroG 环境。定义见 lib/plexus/schemas/rating.ex每个应用的平均分以numerator / denominator如 3.86 / 4加total_count评分人数的形式返回方便你按置信度展示数据。全部端点速查表所有端点路由定义在 lib/plexus_web/router.ex前缀统一为/api/v1方法端点说明需要认证POST/devices/register注册设备邮箱接收验证码否POST/devices/verify验证码换 Token否POST/devices/renew刷新 Token是GET/apps查询应用列表支持搜索/分页否GET/apps/:package查询单个应用否POST/apps创建新应用是GET/apps/:package/ratings查询评分列表否GET/apps/:package/ratings/:id查询单条评分否POST/apps/:package/ratings提交评分是DELETE/apps/:package/ratings/:id删除评分是另有两个辅助入口/api/openapi返回 OpenAPI 规范文档/swaggerui提供交互式调试界面见 lib/plexus_web/router.ex。设备认证三步走注册、验证、刷新写入类端点创建应用、提交/删除评分都需要 Bearer Token认证由 lib/plexus_web/api_auth_plug.ex 统一拦截缺失或失效的 Token 会返回401。第 1 步注册设备curl -X POST /api/v1/devices/register \ -H Content-Type: application/json \ -d {device_id: 你的设备ID, email: youexample.com}服务器会向邮箱发送一封含验证码的邮件实现见 lib/plexus_web/controllers/api/v1/device_controller.ex。第 2 步验证并获取 Tokencurl -X POST /api/v1/devices/verify \ -d {device_id: 你的设备ID, code: 邮箱中的验证码}验证成功后返回 Token之后所有写请求都带上Authorization: Bearer 你的Token第 3 步刷新 Token调用POST /devices/renew并使用当前 Token 认证即可换发新 Token避免设备长期断线后无法提交数据。GET /apps按关键词搜索应用列表最常用的查询端点支持 5 个查询参数q搜索关键词如?qSignalpage/limit分页默认每页 25 条scorestrue附带各类型平均分last_updatedRFC 3339 时间戳只取该时间之后更新过的应用做增量同步的最佳参数示例curl /api/v1/apps?qSignallimit5last_updated2026-08-16T00:00:00Z响应结构为{data, meta}meta含page_number、limit、total_count、total_pages见 lib/plexus_web/controllers/api/v1/schemas/apps_response.ex分页信息齐全翻页只需递增page。参数解析逻辑集中在build_opts/1函数lib/plexus_web/controllers/api/v1/app_controller.ex非法的page/limit会被静默忽略不会报错。GET /apps/:package查询单个应用详情路径中的:package即 Android 包名curl /api/v1/apps/org.thoughtcrime.securesms?scorestrue返回该应用的名称、图标、更新时间scores下按native与micro_g分别给出平均分与投票数——这是做App 兼容性展示页最直接的接口。POST /apps注册一个全新应用设备在本地发现一个数据库里还不存在的应用时先调此端点建档curl -X POST /api/v1/apps \ -H Authorization: Bearer Token \ -d {app: {package: com.example.newapp, name: New App, icon_url: https://...}}必填package与nameicon_url可选。成功后返回201并附带指向新应用资源的location头。POST /apps/:package/ratings提交一条评分这是 Plexus 众包数据的入口请求体字段如下字段类型必填说明android_versionstring✅安卓版本app_packagestring✅由路径注入无需重复填写app_build_numberinteger✅应用构建号rom_namestring✅ROM 名称如 GrapheneOSrom_buildstring✅ROM 构建号installation_sourcestring✅安装来源如 google_play_alternativerating_typeenum✅native或micro_gscoreinteger✅1~4 的兼容性评分app_versionstring❌应用版本号notesstring❌备注功能受限说明等关键安全机制响应除评分数据外还会返回一个一次性delete_token由 lib/plexus/delete_token.ex 生成32 字节随机数数据库只存其 SHA-256 哈希。请妥善保存它——这是日后删除该评分的唯一凭证。DELETE /apps/:package/ratings/:id用删除令牌撤销评分删除采用查询参数传递令牌的方式curl -X DELETE /api/v1/apps/package/ratings/id?delete_token你的令牌 \ -H Authorization: Bearer Token令牌正确则返回204 No Content。出于隐私考虑令牌错误时同样返回未找到见 lib/plexus_web/controllers/api/v1/rating_controller.ex不向调用方泄露令牌是否有效。分页与增量同步技巧 列表端点/apps、/apps/:package/ratings统一支持pagelimit评分列表默认按app_build_number与updated_at降序排列天然呈现最新数据增量拉取客户端记录上次同步时间请求时带上last_updated参数即可只拿变更大幅节省流量调试入口/swaggerui提供图形化调试/api/openapi返回机器可读的 OpenAPI 规范由 lib/plexus_web/api_spec.ex 基于路由自动生成小结一张图理解调用流程读数据直接GET /apps与/apps/:package零门槛写数据注册设备 → 邮箱验证码换 Token → 带Authorization头调用写端点反悔机制保存创建评分时返回的delete_token随时调用 DELETE 端点撤销Plexus 的 API 设计克制而实用公开读、设备级匿名写、令牌制删除恰好匹配众包数据平台的信任模型。如果你正在为去 Google 生态构建 App 推荐或兼容性检测工具这套端点已经足够支撑完整的数据闭环。【免费下载链接】plexusRemove the fear of Android app compatibility on de-Googled devices.项目地址: https://gitcode.com/gh_mirrors/ple/plexus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表