zoukankan      html  css  js  c++  java
  • C#给企业微信中的成员发送消息

    先去企业微信门户网站获得密钥和应用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",代表成功了)

  • 相关阅读:
    Qt(python) + 百度语音合成 实现demo
    windows7 + Qt(MSVC2017) + VS2019安装配置
    ubuntu下openCV-Haar特征分类器训练
    坚果云+typora(个人十分喜欢的一个记笔记方式)
    文本编辑--程序员专属技能
    ftp、tftp、nfs--服务器搭建
    QT--动态人流量监测系统
    C++ --内存四区概述
    CTFHUB-技能树-Web-信息泄露
    网络教育行业频发奖金高薪挖人,在线教育行业将迎来快速发展
  • 原文地址:https://www.cnblogs.com/ROOKIEDEBUG/p/11662975.html
Copyright © 2011-2022 走看看