dingtalk-sdk 1.0.9

Dingtalk SDK for Rust.
Documentation
use dingtalk_sdk::{Client, ContactGetUserRequest};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let appkey = match std::env::var("DINGTALK_APP_KEY") {
        Ok(value) => value,
        Err(_) => {
            eprintln!(
                "Set DINGTALK_APP_KEY, DINGTALK_APP_SECRET, DINGTALK_ROBOT_CODE and DINGTALK_USER_ID to run this example."
            );
            return Ok(());
        }
    };
    let appsecret = match std::env::var("DINGTALK_APP_SECRET") {
        Ok(value) => value,
        Err(_) => {
            eprintln!(
                "Set DINGTALK_APP_KEY, DINGTALK_APP_SECRET, DINGTALK_ROBOT_CODE and DINGTALK_USER_ID to run this example."
            );
            return Ok(());
        }
    };
    let robot_code = match std::env::var("DINGTALK_ROBOT_CODE") {
        Ok(value) => value,
        Err(_) => {
            eprintln!(
                "Set DINGTALK_APP_KEY, DINGTALK_APP_SECRET, DINGTALK_ROBOT_CODE and DINGTALK_USER_ID to run this example."
            );
            return Ok(());
        }
    };
    let user_id = match std::env::var("DINGTALK_USER_ID") {
        Ok(value) => value,
        Err(_) => {
            eprintln!(
                "Set DINGTALK_APP_KEY, DINGTALK_APP_SECRET, DINGTALK_ROBOT_CODE and DINGTALK_USER_ID to run this example."
            );
            return Ok(());
        }
    };

    let client = Client::builder().build()?;
    let enterprise = client.enterprise(appkey, appsecret, robot_code);

    let user = enterprise
        .contact_get_user(ContactGetUserRequest::new(user_id))
        .await?;

    println!("{}", serde_json::to_string_pretty(&user)?);
    Ok(())
}