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”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM