use dotenvy::dotenv;
use open_lark::client::LarkClient;
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
dotenv().ok();
let app_id = env::var("APP_ID").expect("APP_ID not found in environment");
let app_secret = env::var("APP_SECRET").expect("APP_SECRET not found in environment");
let _client = LarkClient::builder(&app_id, &app_secret).build();
println!("🚀 演示Drive服务Builder的execute方法");
println!("\n📁 构建媒体文件上传请求...");
let _upload_request =
open_lark::service::cloud_docs::drive::v1::media::UploadMediaRequest::builder()
.file_name("test.jpg")
.parent_token("your_parent_token")
.size(1024)
.file(vec![1, 2, 3, 4]) .build();
println!("✅ 媒体文件上传请求构建完成");
println!("\n🔐 构建权限设置请求...");
let _permission_request =
open_lark::service::cloud_docs::drive::v1::permissions::GetPermissionRequest::builder()
.token("your_file_token")
.r#type("doc")
.build();
println!("✅ 权限设置请求构建完成");
println!("\n📂 构建文件夹创建请求...");
let _folder_request =
open_lark::service::cloud_docs::drive::v2::explorer::CreateFolderRequest::builder()
.name("新建文件夹")
.folder_token("parent_folder_token")
.build();
println!("✅ 文件夹创建请求构建完成");
println!("\n📋 构建文件夹列表请求...");
let _list_request =
open_lark::service::cloud_docs::drive::v2::explorer::ListFolderRequest::builder()
.folder_token("folder_token")
.page_size(50)
.order_by("EditedTime")
.direction("DESC")
.build();
println!("✅ 文件夹列表请求构建完成");
println!("\n🎉 所有Builder的execute方法都已成功添加!");
println!("💡 提示: 在实际使用中,可以直接调用 .execute(&service) 来执行请求");
println!("💡 提示: 也可以使用 .execute_with_options(&service, options) 来带额外选项执行");
Ok(())
}