6 个版本
0.1.5 | 2024年7月13日 |
---|---|
0.1.4 | 2024年6月30日 |
#550 in 网页编程
每月 152 次下载
78KB
1.5K SLoC
Google API 客户端
Google API 的非官方客户端库。
crate.io: google-api-rust-client-unoffical
安装
在您的项目目录中运行以下 Cargo 命令
cargo add google-api-rust-client-unoffical
或将以下行添加到您的 Cargo.toml 文件中
google-api-rust-client-unoffical = "0.1.5"
授权
从 Google Cloud Console 中的 APIs > Credentials 获取服务账户凭证或 API 密钥。
服务账户
从 JSON 文件创建凭证
let filepath: PathBuf = PathBuf::from_str("credentials.json")?;
let credentials = ServiceAccountCredentials::from_service_account_file(filepath)?;
从 JSON 字符串创建凭证
let credentials_json = serde_json::json!({
"type": "service_account",
"project_id": "xxx",
"private_key_id": "xxx",
"private_key": "-----BEGIN PRIVATE KEY-----\nsome_key\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "xxx",
"auth_uri": "https://127.0.0.1/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxx",
"universe_domain": "googleapis.com"
}).to_string();
let credentials = ServiceAccountCredentials::from_service_account_info(credentials_json)?;
设置作用域
let scoped_credentials = credentials.with_scopes(vec!["https://www.googleapis.com/auth/cloud-translation"]);
设置主题
let subjected_crentials = credentials.with_subject("[email protected]");
直接获取访问令牌
let token = credentials.get_access_token().await?;
使用凭证与服务
let mut translation_service = TranslateService::new_with_credentials(credentials);
let response = translation_service.list_languages(Some("ja"), None).await?;
API 密钥
要使用 API 密钥,请在创建服务对象时传递它们。
let api_key = env::var("API_KEY")?;
let mut translation_service = TranslateService::new_with_api_key(api_key);
let response = translation_service.list_languages(Some("ja"), None).await?;
有关授权示例,请参阅 auth.rs。
服务
Cloud Translation Basic Edition (v2)
支持的 API
有关使用示例,请参阅 translate_service.rs。
Routes API
支持的 API
-
Compute Route: 获取不同交通方式(如步行、骑行或不同类型的车辆)之间的路线,包括路线细节,如距离、预计行驶时间、预期通行费和逐步导航说明。
-
Compute Route Matrix: 获取多个起点和终点之间推荐路线的信息矩阵,包括距离和预计到达时间。
有关使用示例,请参阅 route_service.rs。
其他服务正在建设中!
依赖项
~13–26MB
~489K SLoC