热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#给企业微信中的成员发送消息

先去企业微信门户网站获得密钥和应用ID创建一个静态工具类usingNewtonsoft.Json;usingNewtonsoft.Json.Linq;usingSystem;usi

先去企业微信门户网站获得密钥和应用ID

创建一个静态工具类

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    public static class SendWeChatMessage
    {
        private const string getTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}";
        private const string sendMessageUrl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}";
        private static readonly HttpClient httpClient = new HttpClient();

        public async static Task<string> Send(WeChatParameter parameter)
        {
            string tokenUrl = string.Format(getTokenUrl, parameter.CorpId, parameter.CorpSecret);
            var repOnse= await httpClient.GetAsync(tokenUrl);
            var str = await reponse.Content.ReadAsStringAsync();
            var jObject = JObject.Parse(str);
            var getTokenResult = jObject["errmsg"].ToString().ToLower();
            var token = jObject["access_token"].ToString();
            // jObject["errmsg"].ToString();
            if (!getTokenResult.Equals("ok") || string.IsNullOrEmpty(token))
                return "获取token失败";
            string sendMsgUrl = string.Format(sendMessageUrl, token);
            var sendCOntentModel= new
            {
                touser = parameter.Touser,
                msgtype = parameter.MsgType,
                agentid = parameter.AgentId,
                text = new
                {
                    content = parameter.Content
                }
            };
            var sendCOntentStr= JsonConvert.SerializeObject(sendContentModel);
            HttpContent content = new StringContent(sendContentStr, Encoding.UTF8);
            var respOnse= await httpClient.PostAsync(sendMsgUrl, content);
            return await response.Content.ReadAsStringAsync();
        }

    }

    public class WeChatParameter
    {
        public string CorpId { get; set; }
        public string CorpSecret { get; set; }
        public string Content { get; set; }
        public string Touser { get; set; }
        public string MsgType { get; set; } = "text";
        public string AgentId { get; set; }
    }
}

返回结果是json字符串,需要不同结果的同学可以自己修改一下返回类型。(当返回的结果中是“errmsg”:"ok",代表成功了)


推荐阅读
author-avatar
daadhkiw_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有