private AuthorizerAccessTokenWrapper CreateWrapper(string appId) { string refreshToken = _thirdPartyManager.GetAuthorizerRefreshToken(appId); if (String.IsNullOrEmpty(refreshToken)) { _log.Write(appId + " 的 RefreshToken 不存在", TraceEventType.Warning); return(null); } RequestApiResult <WeixinThirdPartyGetAuthorizerAccessTokenResult> result = ThirdPartyApiWrapper.GetAuthorizerAccessToken(appId, refreshToken); if (result.Success) { AuthorizerAccessTokenWrapper wrapper = new AuthorizerAccessTokenWrapper(); wrapper.AppId = appId; wrapper.RefreshToken = result.ApiResult.RefreshToken; wrapper.AccessToken = result.ApiResult.AccessToken; wrapper.AccessTokenExpiryTime = DateTime.Now.AddSeconds(result.ApiResult.ExpiresIn); return(wrapper); } return(null); }
public static string Handle(string message) { XElement xml = XElement.Parse(message); string messageType = xml.XPathSelectElement("MsgType").Value; if (String.IsNullOrEmpty(messageType)) { return(String.Empty); } _fromUserName = xml.XPathSelectElement("FromUserName").Value; //事件消息 if (messageType == "event") { string eventType = xml.XPathSelectElement("Event").Value; if (String.IsNullOrEmpty(eventType)) { return(String.Empty); } ResponsiveXMLMessage_TextMessage textMessage = new ResponsiveXMLMessage_TextMessage(); textMessage.Content = eventType + "from_callback"; textMessage.ToUserName = _fromUserName; textMessage.FromUserName = UserName; textMessage.CreateTime = WeixinApiHelper.ConvertDateTimeToInt(DateTime.Now); return(XMLMessageHelper.XmlSerialize(textMessage)); } //普通消息 else { string content = xml.XPathSelectElement("Content").Value; if (content == "TESTCOMPONENT_MSG_TYPE_TEXT") { ResponsiveXMLMessage_TextMessage textMessage = new ResponsiveXMLMessage_TextMessage(); textMessage.Content = "TESTCOMPONENT_MSG_TYPE_TEXT_callback"; textMessage.ToUserName = _fromUserName; textMessage.FromUserName = UserName; textMessage.CreateTime = WeixinApiHelper.ConvertDateTimeToInt(DateTime.Now); return(XMLMessageHelper.XmlSerialize(textMessage)); } else { _query_auth_code = content.Remove(0, "QUERY_AUTH_CODE:".Length); RequestApiResult <WeixinThirdPartyGetAuthorizationInfoResult> getAuthorizationInfo = ThirdPartyApiWrapper.GetAuthorizationInfo(_query_auth_code); _accessToken = getAuthorizationInfo.ApiResult.AuthorizationInfo.AccessToken; _timer = new System.Threading.Timer(SendKFMessage, null, 2 * 1000, 1 * 60 * 1000); return(null); } } }
public ActionResult AuthorizationCallbackDemo(string auth_code) { RequestApiResult <WeixinThirdPartyGetAuthorizationInfoResult> result = ThirdPartyApiWrapper.GetAuthorizationInfo(auth_code); AuthorizationCallbackDemoViewModel model = new AuthorizationCallbackDemoViewModel(); model.Info = result.ApiResult.AuthorizationInfo; return(View(model)); }
private void UpdateWrapper(AuthorizerAccessTokenWrapper wrapper) { RequestApiResult <WeixinThirdPartyGetAuthorizerAccessTokenResult> result = ThirdPartyApiWrapper.GetAuthorizerAccessToken(wrapper.AppId, wrapper.RefreshToken); if (result.Success) { wrapper.RefreshToken = result.ApiResult.RefreshToken; wrapper.AccessToken = result.ApiResult.AccessToken; wrapper.AccessTokenExpiryTime = DateTime.Now.AddSeconds(result.ApiResult.ExpiresIn); } }