【问题标题】:Not getting WeChat Follow response没有收到微信关注回复
【发布时间】:2014-04-10 11:33:36
【问题描述】:

我有一个调试微信公众号。我已将我的公共 URL 和令牌输入到提供 http://admin.wechat.com/debug/sandbox 的字段中,并尝试使用 http://admin.wechat.com/debug/ 调试请求

我的 ASP.Net [.Net4.5] Web API 应用程序的 POST 方法如下所示:

public HttpResponseMessage PostMessage([FromBody]Strikemedia.Api.WeChat.TextMessage value)
    {
        if (value == null)
        {
            var richMediaMessage = new RichMediaMessage();
            richMediaMessage.touser = value.FromuserName;

            //Create Article
            var item = new Article()
            {
                title = "Didn't receive anything back",
                description = "Mind entering 'test'",
                picurl = "URL",
                url = "URL"
            };
            var articles = new List<Article>();
            articles.Add(item);
            richMediaMessage.articles = articles;
            richMediaMessage.articleCount = articles.Count;
            return Request.CreateResponse(HttpStatusCode.OK, richMediaMessage, "application/json");
        }

        var exploded = value.Content.Split(' ')[0];

        var richMedia = new RichMediaMessage();
        richMedia.touser = value.FromuserName;

        //Create Article
        var article = new Article() { 
            title = response.KeywordDescription,
            description = response.Response,
            picurl = "URL",
            url = "URL"
        };
        var _articles = new List<Article>();
        _articles.Add(article);
        richMedia.articles = _articles;
        richMedia.articleCount = _articles.Count;

        //Return response
        var resp = Request.CreateResponse(HttpStatusCode.OK, richMedia, "application/json");
        //resp.RequestMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
        return resp;
    }

需要以 JSON 格式的 RichMessageType 响应,并以 XML 格式接收

我是错过了什么还是忽略了什么?

【问题讨论】:

    标签: asp.net asp.net-web-api wechat


    【解决方案1】:

    您能否确认您已将 URL 和令牌提交到 admin.wechat.com 并且 URL 和令牌已被接受?

    还请注意,您获得了 XML,并且您以 XML 无 json 响应进行响应。

    你看过了吗:http://youtu.be/kB20Zf51QWU 然后这个 http://youtu.be/_2FSzD2B2F0

    这是你在谷歌“微信消息API指南”时可以找到的XML文档

    因此,如果您在 admin.wechat.com 上提交应用时仍未收到成功消息,那么您可以在此处将您的测试 URL 发送给我。要查找此 URL,请检查您的访问日志以查看微信正在调用的 URL。然后在这里发布。请注意,当您以微信身份点击 URL 时,您应该只看到屏幕上打印的“echostr”(在浏览器中查看源代码时)。没有 XML 没有 HTML,只有 echostr。

    还要确保在“echostr”之后或之前没有空格或换行符。当您查看源代码时,它应该只有一行,即 echostr GET 参数的值。

    XML 响应仅在您真正开始响应来自用户的消息时才会出现。目前,微信只是确认您的安全设置是否正确。

    另请注意,如果您的服务器是负载平衡的,您将不得不跳过签名验证并在 echostr GET 参数通过并且仅将“echostr”参数回显到屏幕时构建自己的验证。

    【讨论】:

    • 我们设法确定了继续操作所需的 url 和令牌,但是在多次尝试提交所需的 echostr 后,面板仍然发出“配置失败”错误
    • 我们微信提供的请求 URL 如下:api.strikemedia.co.za/WeChat/WeChatTest/api/… 从我们这边返回一个文本/纯文本响应
    • 请确认 api.strikemedia.co.za 是否是负载均衡解决方案?如果是,您必须删除签名验证。
    • 我可以确认,我们没有负载均衡解决方案。
    • echostr 末尾有一个空格/换行符。请删除它。
    猜你喜欢
    • 2018-05-06
    • 2018-12-06
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多