#api-client #media #api #client #api-bindings #wistia #upload-api

rust-wistia

将Wistia的数据和上传API封装成一个简单易用的接口的Rust包

11个版本 (7个破坏性更新)

0.8.0 2023年4月10日
0.7.1 2022年4月13日
0.6.0 2022年4月6日
0.5.0 2022年4月6日
0.1.1 2022年2月16日

#143 in 视频

Download history 6/week @ 2024-07-01 52/week @ 2024-07-29

每月58次下载

MIT 许可证

84KB
1K SLoC

rust-wistia

github crates.io docs.rs build status

rust-wistia 是一个 rust crate,它提供了一个 async 包装API,让您可以轻松地与 Wistia API 进行交互。

这部分灵感来源于 wystia,我为Wistia API创建的Python库。


这个crate与Cargo一起工作,需要一个类似的 Cargo.toml 文件。

[dependencies]
rust-wistia = "0.8"
tokio = { version = "1", features = ["full"] }

目录

入门

使用 rust-wistia 库入门非常简单

  1. 在您的环境中设置 WISTIA_API_TOKEN;您也可以使用 from 构造函数显式设置令牌值。有关Wistia API文档中的身份验证和访问令牌的更多信息,请查看。

  2. 将一些用法添加到您的应用程序中。

    以下是一个通过公共URL链接上传媒体文件的示例

    use rust_wistia::UrlUploader;
    
    #[tokio::main]
    async fn main() -> std::result::Result<(), Box<dyn std::error::Error + Send + Sync>> {
        let res = UrlUploader::new("my-url-link")?
            .name("My Video Name")
            .send()
            .await?;
    
        println!("Response: {res:#?}");
    
        // Print out some useful attributes
        println!("Video ID: {}", res.hashed_id);
    
        Ok(())
    }
    

示例

您可以在GitHub项目仓库的 examples/ 文件夹中查看API方法的示例用法。

依赖项和功能

这个库只使用所需的最小依赖项,以保持整体大小较小。此crate使用 hyperhyper-rustls 内部,以向Wistia API发出HTTPS请求。

虽然选择了 hyper-rustls 作为默认的 TLS 实现,因为它在为 x86_64-unknown-linux-musl 目标交叉编译时没有问题,这在 AWS Lambda 部署中很常见,但仍然可以使用基于 OpenSSL 的本地 hyper-tls 实现。

为此,请禁用默认的 "rust-tls" 功能,并启用 "native-tls" 功能

[dependencies]
rust-wistia = { version = "*", default-features = false, features = ["native-tls", "logging", "serde-std"] }

贡献

欢迎贡献!打开一个拉取请求来修复一个错误,或者 创建一个问题 来讨论新的功能或更改。

有关更多信息,请查看文档中的 贡献 部分。

许可证

本项目自豪地采用 MIT 许可证授权(LICENSEhttp://opensource.org/licenses/MIT)。

rust-wistia 可以根据 MIT 许可证进行分发。贡献将在同一许可证下接受。

作者

依赖关系

~5–18MB
~254K SLoC