• 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”

  • 相关阅读:
    汉诺塔问题_栈模拟递归
    汉诺塔问题_栈模拟递归
    Dockerfile指令
    Dockerfile指令
    C++全排列组合算法
    剑指offer——复杂链表复制
    数据库中的索引实现原理
    TCP三次握手四次挥手详解
    TCP协议原理
    OSI七层模型
  • 原文地址:https://www.cnblogs.com/xiong950413/p/13816202.html
Copyright © 2020-2023  润新知