コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
        /// <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));
        }