Undefined SS 社区 LogoScreenshareDevelopers
管理密钥 ↗
运行维护 / 代码示例

代码示例

以下文件可以下载后在你自己的服务端运行。均使用环境变量,不包含真实密钥。

示例 下载 环境
API 客户端与创建邀请 client.mjs Node.js 22+
API 客户端 client.py Python 3.11+,标准库
Java 插件服务端调用 ScreenshareExample.java Java 17+
验签与 SQLite 收件箱 webhook-server.mjs Node.js 24+
Python 验签函数 verify_webhook.py Python 3.11+,标准库
本地合成 API mock-server.mjs Node.js 22+

JavaScript 调用

node client.mjs me
node client.mjs invite minecraft YOUR_PERSISTED_IDEMPOTENCY_KEY

环境变量为 SCREENSHARE_API_KEY 和 SCREENSHARE_PARTNER_ID。创建邀请时务必传入事先保存的随机请求编号;示例不会在每次重试时自动换编号。

示例不会在终端打印完整邀请链接。结果需要发送给玩家时,由你的应用从返回对象中读取 data.link,在经过授权的私密通道分发。

Python

python client.py

输出 /v1/me 的凭证元数据。screenshare() 可由你自己的服务端导入。遇到错误会返回 HTTP 状态和结构化错误;不要把包含 Authorization 的完整请求对象写入异常日志。

Java

javac ScreenshareExample.java
java ScreenshareExample

展示标准库 HttpClient、超时和禁止重定向。使用插件后台执行器运行 HTTP 请求,不要阻塞 Minecraft 主服务器线程。正式应用可使用自己已有的 JSON 库解析响应。

Webhook 接收示例

export SCREENSHARE_WEBHOOK_SECRET='YOUR_FULL_whsec_SECRET'
export SCREENSHARE_PARTNER_ID='YOUR_PARTNER_ID'
node webhook-server.mjs

服务监听本机 8080,请通过你控制的公网 HTTPS 443 反向代理接入。示例先验签和核对组织,再将业务事件写入 SQLite 收件箱后响应 204。验证事件在验签后回显 challenge。收件箱不是完整业务系统;需要接入你的持久任务处理器。

本地模拟

node mock-server.mjs

模拟服务监听 127.0.0.1:4180,只接受假密钥 Bearer test-local-only。它提供 /v1/me、邀请创建的幂等及冲突分支、模拟 429 和模拟记录未找到。测试时单独使用本地配置,不要把生产密钥传给模拟服务,也不要把本地地址配置成生产 Webhook。

© Screenshare · 面向开发者与 Partner 的开放接口