#websocket #http-request #social-vr #api-bindings #api-request #api #cvr

chilloutvr

ChilloutVR API 的非官方 Rust 类型

15 个版本 (4 个破坏性版本)

0.4.0 2023年4月16日
0.3.1 2023年4月13日
0.2.2 2023年4月2日
0.2.1 2023年3月3日
0.0.0-alpha.02022年8月17日

#1477游戏开发

每月43次下载
用于 5 个crate (4 个直接使用)

MPL-2.0 许可证

71KB
1.5K SLoC

Rust 中的 ChilloutVR API

License Crates.io Docs

用于 ChilloutVR API 的 Rust crate。

这是完全非官方的,与 Alpha Blend Interactive(ChilloutVR 的创造者)没有任何关联、认可、支持或创建。

该crate包含响应的模型,并支持 serde。它还定义了请求,使用 racal 处理 HTTP 部分,并为 WebSocket 提供大型的请求/响应结构,这意味着不会锁定到单个 API 客户端。虽然提供了一个使用 reqwest 的示例 API 客户端以方便使用。

API 技术上尚未公开,请自行决定。这也意味着没有官方的 API 文档。这意味着一些事情可能是错误的,或者在未来会有很大的变化。

测试

集成测试会联系实时 API。虽然可以创建模拟 API,但这会违背测试的目的。即测试客户端是否真正能够使用当前的实时 API。虽然可以将请求和响应保存为模拟 API,但确保其保持最新状态并且行为与真实 API 完全一致是不切实际的。

由于这个原因,默认情况下会忽略集成测试。许多测试还需要实际的账户认证,您可以在下面了解更多。

手动创建用户会话

您可以通过 curl 登录等方式生成一个 user-auth.json 文件

curl --request POST \
  --url https://api.abinteractive.net/1/users/auth \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --data '{
  "username": "email@Address",
  "password": "pa$$word",
  "authType": "LoginCredentials"
}' > user-auth.json

生成的文件应类似于以下内容

{
 "message": "Successfully logged in as ljoonal",
 "data": {
  "username": "ljoonal",
  "accessKey": "long-string",
  "userId": "uuid",
  "more fields...": "...and their values"
 }
}

运行实时 API 测试

请确保您已连接到互联网,并且拥有有效的 user-auth.json

# A specific test with output logging
cargo test --all-features friend_requests -- --exact --ignored --nocapture
# All tests
cargo test --all-features -- --ignored

许可证

请注意,该许可证是 MPL-2.0,而不是更常见的 MIT OR Apache-2.0。但是,如果ABI团队想要使用这个crate或将其纳入具有不同许可证的更官方crate中,则可以协商更改许可证。

依赖项

~3–17MB
~246K SLoC