>  기사  >  위챗 애플릿  >  사용자 메시지에 응답하기 위한 WeChat 개발용 코드 예제 공유

사용자 메시지에 응답하기 위한 WeChat 개발용 코드 예제 공유

黄舟
黄舟원래의
2017-04-18 10:10:491428검색

회사의 WeChat은 얼마 전에 개발되었습니다

함께 배우고자 하는 지식과 경험 공유에 대한 요약은 다음과 같습니다. . . . .

나중에 시리즈로 쓰는 게 좋을 것 같아요. . . .

기업 요구 사항:

지정된 기업 사용자에게 메시지 보내기 메시지 보내기 : 출석정보, 기업알림, 개인정보 푸시 등

/// </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); 
            }
        }
/// <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;

            }

        }

매개변수 참조 상세설명 :

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

2.GetPage //페이지로 돌아가기 정보 요청 결과

위 내용을 바탕으로 키 코드 전송:

다음은 성공 후의 예시 사진입니다:

사용자 메시지에 응답하기 위한 WeChat 개발용 코드 예제 공유

위 내용은 사용자 메시지에 응답하기 위한 WeChat 개발용 코드 예제 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.