#moodle #web-services #client #login

moodle_client

Rust版本的Moodle Web服务客户端

1 个不稳定版本

0.1.0 2023年9月18日

#878 in 身份验证


2 crates 中使用

AGPL-3.0

10KB
136

moodle-rs

Rust版本的Moodle Web服务客户端。

功能

  • 参数和返回值都是完全类型化的。
    • 然而,由于Moodle的版本差异,有时您可以使用 call_raw 来获取原始的 serde_json::Value 并自行解析。

示例

查看 示例

use moodle::api::core::course::get_enrolled_courses_by_timeline_classification::{call, Params};
use moodle::client::{login, MoodleClient};

#[tokio::main]
async fn main() {
    let base_url = std::env::var("MOODLE_URL").unwrap();
    let username = std::env::var("MOODLE_USERNAME").unwrap();
    let password = std::env::var("MOODLE_PASSWORD").unwrap();

    let token = login(&base_url, &username, &password).await.unwrap();
    let mut client = MoodleClient::new(&base_url, &token);

    let result = call(
        &mut client,
        &mut Params {
            classification: Some("all".to_string()),
            limit: Some(3),
            offset: Some(0),
            sort: None,
            customfieldname: None,
            customfieldvalue: None,
            searchvalue: None,
        },
    )
    .await;

    println!("{:#?}", result);
}

依赖关系

~6–22MB
~346K SLoC