use serde::{Deserialize, Serialize};
use crate::{common::AccessTokenData, wxcorp_api_get};
wxcorp_api_get!(
request_access_token,
"https://qyapi.weixin.qq.com/cgi-bin/gettoken",
(corpid: &str, corpsecret: &str),
AccessTokenData
);
#[derive(Debug, Deserialize, Serialize)]
#[serde(untagged, rename_all_fields(deserialize = "PascalCase"))]
pub enum UserIdInfoByAuthCode {
Inner {
user_id: String,
},
External {
open_id: String,
external_user_id: Option<String>,
},
}
wxcorp_api_get!(
request_user_id_by_auth_code,
"https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo",
(access_token: &str, code: &str),
UserIdInfoByAuthCode
);
#[derive(Debug, Deserialize, Serialize)]
pub struct UserInfo {
pub userid: String,
pub name: Option<String>,
pub avatar: Option<String>,
}
wxcorp_api_get!(
request_user_info_by_user_id,
"https://qyapi.weixin.qq.com/cgi-bin/user/get",
(access_token: &str, userid: &str),
UserInfo
);