/// <summary> /// 获取 access_token, 注意获取后之前获取的将会失效 /// </summary> /// <param name="appId">微信应用ID</param> /// <param name="appSecret">微信应用密码</param> /// <param name="config"></param> /// <returns></returns> public static async Task <TokenResult> Get(string appId, string appSecret, ApiConfig config = null) { var url = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={Uri.EscapeDataString(appId)}&secret={Uri.EscapeDataString(appSecret)}"; var text = await ApiHelper.GetString(url, config).ConfigureAwait(false); return(ApiHelper.BuildResult <TokenResult>(text)); }
/// <summary> /// <para>刷新access_token</para> /// </summary> /// <param name="appid">公众号的唯一标识</param> /// <param name="refresh_token">填写通过access_token获取到的refresh_token参数</param> /// <param name="config"></param> /// <returns></returns> public static async Task <AccessTokenResult> RefreshAccessToken(string appid, string refresh_token, ApiConfig config = null) { var url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?" + $"appid={Uri.EscapeDataString(appid)}&" + "grant_type=refresh_token&" + $"refresh_token={Uri.EscapeDataString(refresh_token)}"; var response = await ApiHelper.GetString(url, config).ConfigureAwait(false); return(ApiHelper.BuildResult <AccessTokenResult>(response)); }
/// <summary> /// 拉取用户信息(需scope为 snsapi_userinfo) /// </summary> /// <param name="openid">用户的唯一标识</param> /// <param name="access_token">网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同</param> /// <param name="lang">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语</param> /// <param name="config"></param> /// <returns></returns> public static async Task <UserInfoResult> GetUserInfo(string openid, string access_token, string lang = "zh_CN", ApiConfig config = null) { var url = "https://api.weixin.qq.com/sns/userinfo?" + $"access_token={Uri.EscapeDataString(access_token)}&" + $"openid={Uri.EscapeDataString(openid)}&" + $"lang={lang}"; var response = await ApiHelper.GetString(url, config).ConfigureAwait(false); return(ApiHelper.BuildResult <UserInfoResult>(response)); }
/// <summary> /// <para>通过授权 code 换取网页授权 access_token</para> /// </summary> /// <param name="appid">公众号的唯一标识</param> /// <param name="secret">公众号的appsecret</param> /// <param name="code">填写客户端返回的code参数</param> /// <param name="config"></param> /// <returns></returns> public static async Task <AccessTokenResult> GetAccessToken(string appid, string secret, string code, ApiConfig config = null) { var url = "https://api.weixin.qq.com/sns/oauth2/access_token?" + $"appid={Uri.EscapeDataString(appid)}&" + $"secret={Uri.EscapeDataString(secret)}&" + $"code={Uri.EscapeDataString(code)}&" + "grant_type=authorization_code"; var response = await ApiHelper.GetString(url, config).ConfigureAwait(false); return(ApiHelper.BuildResult <AccessTokenResult>(response)); }