zoukankan      html  css  js  c++  java
  • C# 企业微信API开发(获取Token,给用户发送消息)

            #region 获取Token
            /// <summary>
            /// 获取Token
            /// </summary>
            public string GetAccessToken()
            {
                string requestUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxxxxxxxx&corpsecret=xxxxxxxxxxxxxxxxxxxxxxxx";
                WebResponse result = null;
                WebRequest req = WebRequest.Create(requestUrl);
                result = req.GetResponse();
                Stream s = result.GetResponseStream();
                XmlDictionaryReader xmlReader = JsonReaderWriterFactory.CreateJsonReader(s, XmlDictionaryReaderQuotas.Max);
                xmlReader.Read();
                string xml = xmlReader.ReadOuterXml();
                s.Close();
                s.Dispose();
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);
                XmlElement rootElement = doc.DocumentElement;
                string access_token = rootElement.SelectSingleNode("access_token").InnerText.Trim();
                return access_token;
            }
            #endregion

    以上代码需要引用如下dll文件

    #region 给用户发送消息
            public void SendMessage( string userid,string strtext) 
            {
                string retString = string.Empty;
                string url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}";//string url = GetUrlString;
                url = string.Format(url, GetAccessToken());
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/json";
                //序列化为字符串,可以使用自己项目中封装的json方法
                string strContent = "{"touser" : "" + userid + "","msgtype" : "text","agentid" : 应用程序ID,"text" : {"content" : "" + strtext + ""},"safe":0}";
                using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
                {
                    dataStream.Write(strContent);
                    dataStream.Close();
                }
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                string encoding = response.ContentEncoding;
                if (encoding == null || encoding.Length < 1)
                {
                    encoding = "UTF-8"; //默认编码  
                }
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
                retString = reader.ReadToEnd();
            
            }
            #endregion

    其中多个用户ID以‘|’隔开 例如  “LEIGANG|XIAOHONG|ZAHNGWU”

  • 相关阅读:
    spring-tool-suite-4-4.3.2.RELEASE-e4.12.0-win32.win32.x86_64 下载
    day39_Spring学习笔记_07_CRM_03
    MyEclipse 中 报错 ERROR PARSER:56
    day38_Spring学习笔记_06_CRM_02
    最简单的递归/死循环
    day37_Spring学习笔记_05_CRM_01
    如何在Linux中发现IP地址冲突
    如何在Linux中用命令行工具管理KVM虚拟环境
    使用 Shell 脚本自动化 Linux 系统维护任务
    Linux系统多网卡绑定实战
  • 原文地址:https://www.cnblogs.com/xiong950413/p/13816202.html
Copyright © 2011-2022 走看看