1登录公众号.进行相关的配置(一般进行了微信认证,接口权限都会有,个人的就很多没有权限)
①AppID唯一标识,AppSecret(自动生成),生成access_token需要用到不能泄露,与微信服务器验证,ip白名单(踩了一个坑,我设置了一个ip地址,然后后续微信服务器发消息过来我这边一直收不到)
②服务器地址:开发者的url,需微信服务器能够访问的(不能是本地的),进行绑定和后续微信发消息都是发到这个url中(绑定是get,发消息是post)
token 这个开发者服务器也需要保存,用来验证是否是微信服务器发过来的,消息加密秘钥和加密方式自己随意设置
2开发者服务器设置
在微信开发文档中的接入指南有详细步骤,这里就不细说了 (验证通过就可以进行后续的开发了)
public string Test() { _logger.LogInformation("开始调试"); var methodType = HttpContext.Request.Method; _logger.LogInformation(methodType); if (methodType.Contains("GET")) { var signature = HttpContext.Request.Query["signature"]; var timestamp = HttpContext.Request.Query["timestamp"]; var nonce = HttpContext.Request.Query["nonce"]; var echostr = HttpContext.Request.Query["echostr"]; var token = _configuration.Token; //这个就是上面说的在微信配置的token SortedDictionary<string, string> sort = new SortedDictionary<string, string>(); sort.Add("token", token); sort.Add("timestamp", timestamp); sort.Add("nonce", nonce); var str = ""; foreach (var item in sort.OrderBy(c => c.Value)) { str += item.Value; } SHA1 sHA1 = SHA1.Create(); var hash = sHA1.ComputeHash(Encoding.UTF8.GetBytes(str)); string shaStr = BitConverter.ToString(hash); shaStr = shaStr.Replace("-", ""); if (signature == shaStr.ToLower()) { return echostr; } return ""; }
3开发这接收微信发过来的消息,再按照一定格式返回