实用技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > ASP.NET > 实用技巧 > .NET Core企业微信openapi回调地址请求不通过

解决.NET Core企业微信openapi回调地址请求不通过的问题

作者:微风吹过~

这篇文章介绍了解决.NET Core企业微信openapi回调地址请求不通过的问题,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.问题截图

 2.测试回调模式成功

测试回调模式地址https://open.work.weixin.qq.com/wwopen/devtool/interface/combine,建立连接 =>  测试回调模式

3.解决

测试回调成功,但是发现返回结果带了引号,可能是导致回调不成功原因。下面代码为错误示范。

        [HttpGet, Route("callback/interAspect")]
        public IActionResult ReveiceMsg(string msg_signature,string timestamp,string nonce,string echostr)
        {
            //验证
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(AppSetting.Configuration["Wx:CallBackToken"]
                , AppSetting.Configuration["Wx:EncodingAESKey"]
                , AppSetting.Configuration["Wx:corpid"]);
            
            int ret = 0;
            string sEchoStr = "";
            ret = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr, ref sEchoStr);
            if (ret != 0)
            {
                return Json(null);
            }

            return Json(sEchoStr);
        }

返回值调整为ContentResult 或者string 后测试成功。

        [HttpGet, Route("callback/interAspect")]
        public ContentResult ReveiceMsg(string msg_signature,string timestamp,string nonce,string echostr)
        {
            //验证
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(AppSetting.Configuration["Wx:CallBackToken"]
                , AppSetting.Configuration["Wx:EncodingAESKey"]
                , AppSetting.Configuration["Wx:corpid"]);
            
            int ret = 0;
            string sEchoStr = "";
            ret = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr, ref sEchoStr);
            if (ret != 0)
            {
                return Content(null);
            }

            return Content(sEchoStr);
        }

最后成功保存

服务端加解密库: https://developer.work.weixin.qq.com/tool#/tab/invoke/source

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文