没有得到微信关注响应

时间:2014-04-10 11:33:37

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

我有微信的调试官方账号。我在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格式

接收

我错过了什么或者我忽略了什么?

1 个答案:

答案 0 :(得分:1)

您是否可以确认已将网址和令牌提交到admin.wechat.com并且网址和令牌已被接受?

另请注意,您获取XML并使用XML响应json响应。

您有没看过:http://youtu.be/kB20Zf51QWU 然后这个 http://youtu.be/_2FSzD2B2F0

这是您在google&#34; wechat guide to message api&#34;

时可以找到XML的文档。

因此,如果您在admin.wechat.com上提交应用时仍未收到成功消息,则可以在此处将测试网址发送给我。要查找此URL,请检查您的访问日志,以确切了解微信呼叫的URL。然后在这里发布。请注意,当您点击URL时,我们只能看到&#34; echostr&#34;打印在屏幕上(在浏览器中查看源代码时)。没有XML没有HTML只是echostr。

同时确保在&#34; echostr&#34;之后或之前没有空格或换行符。当您查看源时,它应该只是一行,这是echostr GET参数的值。

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

另请注意,如果您的服务器是负载平衡的,则必须跳过签名验证并在echostr GET参数通过时构建您自己的验证,并且只回显&#34; echostr&#34; param to screen。