コード例 #1
0
        public async Task <MessageModel <WeChatApi> > GetOpenIDAsync(string appid, string secret, string code)
        {
            MessageModel <WeChatApi> result = new MessageModel <WeChatApi>();

            string funName = "Get Wechat Data By Code";

            try
            {
                var url = $"/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code";

                var wechatResponse = await HttpClientExtensions.GetData <WeChatApi>(_client, _logger, url);

                if (!string.IsNullOrEmpty(wechatResponse.openid))
                {
                    _logger.LogInformation($"{funName},获取open - {wechatResponse.openid}");
                    result.success  = true;
                    result.msg      = "获取OpenId成功";
                    result.response = wechatResponse;
                }
                else
                {
                    result.success = false;
                    result.msg     = "获取OpenId失败";
                    _logger.LogError($"{funName}:获取OpenId失败");
                }
            }
            catch (Exception ex)
            {
                result.success = false;
                result.msg     = funName + "调用外部接口异常:。" + ex.Message;
                _logger.LogError(ex, (string)$"{funName}调用外部接口异常:{ex.Message}");
            }

            return(result);
        }