欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【.net】通过企业微信web api给指定用户发送消息

程序员文章站 2022-06-11 09:34:33
...

前言

在很多业务场景中经常会遇到与微博微信进行通信的需求,今天就和大家一起研究一下如果通过企业微信web api给指定用户发送消息

一、创建应用

1、打开企业微信并登录

https://work.weixin.qq.com/

【.net】通过企业微信web api给指定用户发送消息

2、 点击“应用管理”-》“创建应用”

【.net】通过企业微信web api给指定用户发送消息

3、根据要求上传logo、输入应用名称、输入应用介绍,没有问题后点击“创建应用”

【.net】通过企业微信web api给指定用户发送消息 4、创建完成后,应用程序会自动生成唯一的AgentID和Secret(重要:在使用企业微信web api时会用到)

【.net】通过企业微信web api给指定用户发送消息

二、调用企业微信web api 

1、获取access_token

请求方式:GET(HTTPS)
请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET

参考文档快速入门
重要:

ID为企业ID(如:我的企业-》企业ID)

SECRET为应用程序的ID(如:应用管理-》TestSendMessage-》Secret)

【.net】通过企业微信web api给指定用户发送消息

【.net】通过企业微信web api给指定用户发送消息

下面通过postman进行测试,如下

【.net】通过企业微信web api给指定用户发送消息

下面是C#和JQuery实例代码

C#:

var client = new RestClient("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=企业ID&corpsecret=应用程序Secret");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

JQuery:

var settings = {
  "url": "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=企业ID&corpsecret=应用程序Secret",
  "method": "GET",
  "timeout": 0,
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

2、给指定用户发送消息

请求方式:POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

请求参数(以文本为例)

{
   "touser" : "通讯录账号1|通讯录账号2",
   "msgtype" : "text",
   "agentid" : 1000002,
    "text" : {
        "content" : "测试信息"
   },
    "safe":0
}

消息支持类型:应用支持推送文本、图片、视频、文件、图文等类型

参考文档发送应用消息

重要:access_token为上一步获取的access_token

{
    "errcode": 0,
    "errmsg": "ok",
    "access_token": "MDz9fp3bTcHRqx7hDrnTMHyJph9LSQVyojlikm-28T1FRct8Bm0eRmOez3z0SyWoutCqYogvfhMrjC2IORY-yjzCaWqA2Ro4vCWrw7s33ElEj8sbgAC9cHygvCZYcRoXSv0JLyVxjkJxBhF6PUhNV6mhr5hZnRhjZZ_KIRnm9MfNhXYgPfk6WPdAJ2lK9OQh8n02KOhClgfd3f68xNlehA",
    "expires_in": 7200
}

下面通过postman进行测试,如下

【.net】通过企业微信web api给指定用户发送消息

请求体

【.net】通过企业微信web api给指定用户发送消息

点击send,如果errmsg返回OK,则代表发送成功,下图为最终效果

【.net】通过企业微信web api给指定用户发送消息