Maison > développement back-end > Tutoriel C#.Net > Développement de comptes publics C# WeChat Interaction avec les événements WeChat

Développement de comptes publics C# WeChat Interaction avec les événements WeChat

高洛峰
Libérer: 2017-01-17 10:42:51
original
1285 Les gens l'ont consulté

Avant-propos

Lorsque tous les préparatifs sont prêts, mettez d'abord en place un compte public de suivi, puis envoyez un message au client. Pousser un message après avoir prêté attention nécessite une demande d'obtention et une demande de publication. La demande d'obtention sert principalement à vérifier auprès du serveur WeChat, et la demande de publication sert principalement à traiter les messages WeChat. Pour l'appid et l'appsecret transmis lors du réglage de l'interface, merci de transmettre les paramètres correspondant à votre compte officiel.

Interaction avec les événements WeChat

L'interaction avec les événements WeChat pousse principalement les paquets de données XML vers le serveur WeChat

C#微信公众号开发 微信事件交互

Regardez le code

[HttpGet]
[ActionName("Index")]
public ActionResult Get(string signature,string timestamp,string nonce,string echostr)
{
  if (CheckSignature.Check(signature, timestamp, nonce, token))
  {
    return Content(echostr);
  }
  else
  {
    return Content("err");
  }
Copier après la connexion
[HttpPost]
[ActionName("Index")]
public ActionResult Get(string signature, string timestamp, string nonce)
{
   StreamReader sr = new StreamReader(Request.InputStream, Encoding.UTF8);
   XmlDocument doc = new XmlDocument();
   doc.Load(sr);
   sr.Close();
   sr.Dispose();
  
   WxMessage wxMessage = new WxMessage();
   wxMessage.ToUserName = doc.SelectSingleNode("xml").SelectSingleNode("ToUserName").InnerText;
   wxMessage.FromUserName = doc.SelectSingleNode("xml").SelectSingleNode("FromUserName").InnerText;
   wxMessage.MsgType = doc.SelectSingleNode("xml").SelectSingleNode("MsgType").InnerText;
   wxMessage.CreateTime = int.Parse(doc.SelectSingleNode("xml").SelectSingleNode("CreateTime").InnerText);
  
   if (wxMessage.MsgType == "event")
   {
     wxMessage.EventName = doc.SelectSingleNode("xml").SelectSingleNode("Event").InnerText;
     if (!string.IsNullOrEmpty(wxMessage.EventName) && wxMessage.EventName == "subscribe")
     {
       string content = "您好,欢迎访问garfieldzf8测试公众平台";
       content = SendTextMessage(wxMessage, content);
       return Content(content);
    }
  }
      return Content("");
}
  
  
private string SendTextMessage(WxMessage wxmessage,string content)
{
   string result = string.Format(Message, wxmessage.FromUserName,wxmessage.ToUserName,DateTime.Now.Ticks, content);
   return result;
}
  
  
 public string Message
 {
   get
   {
     return @"<xml>
           <ToUserName><![CDATA[{0}]]></ToUserName>
           <FromUserName><![CDATA[{1}]]></FromUserName>
           <CreateTime>{2}</CreateTime>
           <MsgType><![CDATA[text]]></MsgType>
           <Content><![CDATA[{3}]]></Content>
         </xml>";
      }
  }
Copier après la connexion
public class WxMessage
 {
    public string ToUserName { get; set; }
    public string FromUserName { get; set; }
    public long CreateTime { get; set; }
  
    public string Content { get; set; }
    public string MsgType { get; set; }
    public string EventName { get; set; }
    public string EventKey { get; set; }
 }
Copier après la connexion

Résumé

Vous ne pouvez pas déboguer pendant le développement de l'interface WeChat. La seule façon de résoudre les problèmes est de vous connecter aux endroits clés.

L'interaction avec l'événement WeChat analyse principalement le paquet de données XML envoyé par WeChat, analyse le XML, épisse le XML selon le format spécifié du message et l'envoie à la réponse. CheckSignature utilisée dans la méthode Get est une classe du SDK Shengpai WeChat, destinée à la vérification de la signature.

Principalement ToUserName et FromUserName lors de l'envoi de messages au client. J'ai initialement écrit les deux paramètres à l'envers, ce qui a empêché le client de recevoir le message.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois.

Pour plus d'articles liés au développement de comptes publics C# WeChat et à l'interaction avec les événements WeChat, veuillez prêter attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal