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”

  • 相关阅读:
    在其他机器上安装mysql和hive后设置hive元数据存储为mysql
    MapReduce作业切片和Shuffle
    sns 批量清除脚本
    PHP 汉字 转换成 拼音
    PHPCMS V9 和其他应用同步
    nginx启动,重启,关闭命令
    Linux下zip unzip的用户示例 解压到指定目录
    nginx phpcms rewrite规则
    javascript 里面嵌套方法
    数制及其转换
  • 原文地址:https://www.cnblogs.com/xiong950413/p/13816202.html
Copyright © 2011-2022 走看看