2014-04-10 93 views
3

我有微信調試正式戶口。我已經進入我的公開網址和令牌進入該領域提供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

你能否證實您所提交的網址和令牌到admin.wechat.com和URL和令牌被接受?

還要注意你的XML,你用XML響應無JSON響應。

你吃過一看:http://youtu.be/kB20Zf51QWU 然後這個 http://youtu.be/_2FSzD2B2F0

這是XML的文檔,當你谷歌「微信指南消息API」

所以,如果你仍然可以發現在admin.wechat.com上提交您的應用程序時沒有收到成功消息,那麼您可以在此向我發送您的測試網址。要查找此URL,請檢查您的訪問日誌,以確切查看微信所調用的URL。然後張貼在這裏。請注意,當你點擊URL作爲微信時,你應該只能看到屏幕上打印的「echostr」(在瀏覽器中查看源代碼時)。沒有XML沒有HTML只是echostr。

還要確保沒有空格或換行符之前或之後的「echostr」。當你查看源代碼時,它應該只是一行,即echostr GET參數的值。

XML響應只是進來後,當你真正開始從用戶的回覆信息。現在微信只是確認您的安全設置是否正確。

另外請注意,如果你的服務器的負載平衡,你將不得不跳過簽名驗證,當一個echostr GET參數會通過並只能隨聲附和「echostr」參數來篩選建立自己的驗證。

+0

我們試圖弄清楚需要繼續的URL和令牌,但是在多次嘗試提交所需的echostr後,面板仍然發出「配置失敗」錯誤 – Cipher

+0

我們提供的請求URL是weChat: http://api.strikemedia.co.za/WeChat/WeChatTest/api/request?signature=e6448061ece1c0f30e6364b8584f0c76a2db1150&echostr=6496574268439509975×tamp=1397132240&nonce=119870065 它返回從我們身邊 – Cipher

+0

text/plain類型響應如有api.strikemedia.co確認。 za是一個負載平衡的解決方案?如果是這樣,你必須刪除簽名驗證。 – DeveloperX