Teilen von Codebeispielen für die WeChat-Entwicklung, um auf Benutzernachrichten zu antworten

黄舟
Freigeben: 2017-04-18 10:10:49
Original
1399 Leute haben es durchsucht

WeChat des Unternehmens wurde vor einiger Zeit entwickelt

Hier finden Sie eine Zusammenfassung des Wissens- und Erfahrungsaustauschs in der Hoffnung, gemeinsam zu lernen. . . . .

Ich denke, es wäre das Beste, später eine Serie zu schreiben. . . .

Unternehmensanforderungen:

Senden Sie eine Nachricht an den angegebenen Unternehmensbenutzer Senden Sie eine Nachricht : wie Anwesenheitsinformationen, Unternehmensbenachrichtigungen, Push zu persönlichen Informationen usw.,

/// </summary>
        /// <param name="UserID">要发送的人ID</param>
        /// <param name="StrMessg">消息</param>
        private void SendMessage(string UserID, string StrMessg)
        {
            Como.LogUtil.WriteLog("回复用户" + UserID + "消息");
            string Access_Token = Como.GetAccessToken.GetAccess_token();
            if (Access_Token == "")
                Como.LogUtil.WriteException("SendMessage 未能成功加载Access_Token");
            string Text = @"{
   ""touser"":";
            Text += &#39;"&#39; + UserID + &#39;"&#39;;
            Text += "," + &#39;"&#39; + @"msgtype"": ""text"", 
           ""agentid"": ""5"", 
            ""text"": {
           ""content"":";
            Text += &#39;"&#39; + StrMessg + &#39;"&#39;;
            Text += @"}, 
    ""safe"": ""0""
}";
            ;
            string url = String.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", Access_Token);
            string strResult = Como.Tools.GetPage(url, Text);

            JArray ja = (JArray)JsonConvert.DeserializeObject("[" + strResult + "]");
            string Error = "";
            try
            {
                if (strResult.Contains("errcode"))
                {
                    Error = ja[0]["errcode"].ToString();
                }
            }
            catch (Exception ex)
            {
                Como.LogUtil.WriteException("获取strResult,未获取到错误信息" + ex.Message.ToString());
            }
            string errcode = ja[0]["errcode"].ToString();
            string errmsg = ja[0]["errmsg"].ToString();
            if (errcode == "0" && errmsg == "ok")
            {
                Como.LogUtil.WriteLog("回复成功!");
            }
            else
            {
                Como.LogUtil.WriteLog("回复失败!");
                Como.LogUtil.WriteException("回复失败:SendMessage:" + strResult); 
            }
        }
Nach dem Login kopieren
/// <summary>
        /// 根据请求地址 和数据返回请求结果
        /// </summary>
        /// <param name="posturl"></param>
        /// <param name="postData"></param>
        /// <returns></returns>
        public static string GetPage(string posturl, string postData)
        {

            Stream outstream = null;

            Stream instream = null;

            StreamReader sr = null;

            HttpWebResponse response = null;

            HttpWebRequest request = null;

            Encoding encoding = Encoding.UTF8;

            byte[] data = encoding.GetBytes(postData);

            // 准备请求...

            try
            {

                // 设置参数

                request = WebRequest.Create(posturl) as HttpWebRequest;

                CookieContainer cookieContainer = new CookieContainer();

                request.CookieContainer = cookieContainer;

                request.AllowAutoRedirect = true;

                request.Method = "POST";

                request.ContentType = "application/x-www-form-urlencoded";

                request.ContentLength = data.Length;

                outstream = request.GetRequestStream();

                outstream.Write(data, 0, data.Length);

                outstream.Close();

                //发送请求并获取相应回应数据

                response = request.GetResponse() as HttpWebResponse;

                //直到request.GetResponse()程序才开始向目标网页发送Post请求

                instream = response.GetResponseStream();

                sr = new StreamReader(instream, encoding);

                //返回结果网页(html)代码

                string content = sr.ReadToEnd();

                string err = string.Empty;

                return content;

            }

            catch (Exception ex)
            {

                string err = ex.Message;
                Como.LogUtil.WriteException("Tools GetPage 异常为:"+err.ToString());
                return string.Empty;

            }

        }
Nach dem Login kopieren

Parameter Referenz Ausführliche Erklärung:

1. Como.GetAccessToken.GetAccess_token() / /Get Access_token

2.GetPage //Zurück zur Seite Informationen anfordern Ergebnis

Senden Sie basierend auf dem oben Gesagten den Schlüsselcode :

Folgendes ist: nach Erfolg Beispielbild:

Teilen von Codebeispielen für die WeChat-Entwicklung, um auf Benutzernachrichten zu antworten

Das obige ist der detaillierte Inhalt vonTeilen von Codebeispielen für die WeChat-Entwicklung, um auf Benutzernachrichten zu antworten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!