我的编程空间,编程开发者的网络收藏夹
学习永远不晚

企业微信消息推送(推送给个人)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

企业微信消息推送(推送给个人)

官方开发文档:文档 - 企业微信开发者中心

获取access_token

请求方式

GET
请求地址 https://qyapi.weixin.qq.com/cgi-bin/gettoken
请求参数是否必填说明
corpid企业ID,参考:术语说明-corpid
corpsecret应用密钥,参考:术语说明-secret

获取到的access_token用户后续的操作,作为鉴权调用者的身份。获取到的access_token在有效期内无需重复获取(注意:不能频繁调用gettoken接口,否则会受到频率拦截),待到失效或过有效期,需要重新获取(access_token的有效期通过返回的expires_in来传达)。

 public function __construct(){    if (Cache::has('access_token')) {        $this->access_token = Cache::get('access_token');    } else {        $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s";        $response = $this->curlAll(sprintf($url,$this->corpid,$this->secret));        $response = json_decode($response,true);        if($response['errcode'] != 0){            return false;        }else{            Cache::put('access_token', $response['access_token'], $response['expires_in']);            $this->access_token = $response['access_token'];        }    }}public function curlAll($url, $post_arr = []){    if ($post_arr) {        $post_string = json_encode($post_arr); //参数    }    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=utf-8'));    if ($post_arr) {        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);    }    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);    $data = curl_exec($ch);    curl_close($ch);    return $data;}

返回值说明:

参数说明
errcode

出错返回码,为0表示成功,非0表示调用失败。

错误码参考:全局错误码 - 接口文档 - 企业微信开发者中心

errmsg返回码提示语
access_token获取到的凭证,最长为512字节
expires_in凭证的有效时间(秒)

通过手机号获取用户userId

请求方式

POST
请求地址 https://qyapi.weixin.qq.com/cgi-bin/user/getuserid
请求参数是否必填说明
access_token刚获取到的access_token
mobile用户在企业微信通讯录中的手机号码。长度为5~32个字节
public function getUserIdByMobile($mobile){    $url = 'https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token='.$this->access_token;    $params = [        'mobile' => $mobile    ];    $response = $this->curlAll($url,$params);    $response = json_decode($response,true);    if($response['errcode'] != 0){        return false;    }else{        return $response['userid'];    }}

返回值说明:

errcode

返回码0表示成功,非0表示失败

错误码参考:全局错误码 - 接口文档 - 企业微信开发者中心

errmsg对返回码的文本描述内容
userid

成员UserID。对应管理端的帐号,企业内必须唯一。

注意:第三方应用获取的值是密文的userid

消息发送(发送文本消息)

此接口为发送给个人可以批量发送给多个用户

请求方式

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

请求参数

是否必填

说明

touser指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。
特殊情况:指定为"@all",则向该企业应用的全部成员发送
toparty指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。
当touser为"@all"时忽略本参数
totag指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。
当touser为"@all"时忽略本参数
msgtype消息类型,此时固定为:text
agentid企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值
content消息内容,最长不超过2048个字节,超过将截断(支持id转译)
safe表示是否是保密消息,0表示可对外分享,1表示不能分享且内容显示水印,默认为0
enable_id_trans表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。
enable_duplicate_check表示是否开启重复消息检查,0表示否,1表示是,默认0
duplicate_check_interval表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时
        public function sendTextMsg(array $userIds){        $params = [            "touser" => implode('|',$userIds),            "msgtype" => "text",            "agentid" => $this->AgentId,            "text" => [                "content" => '消息本体',            ],        ];        $url =  'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='.$this->access_token;        $response = $this->curlAll($url,$params);        $response = json_decode($response,true);        if($response['errcode'] != 0){            return false;        }        return true;    }

返回值说明:

参数说明
errcode返回码
errmsg对返回码的文本描述内容
invaliduser不合法的userid,不区分大小写,统一转为小写
invalidparty不合法的partyid
invalidtag不合法的标签id
unlicenseduser没有基础接口许可(包含已过期)的userid
msgid消息id,用于撤回应用消息
response_code仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,24小时内有效,且只能使用一次

消息发送支持:文本消息、图片消息、语音消息、视频消息、文件消息、文本卡片消息、图文消息、markdown消息、小程序通知消息这几种应用消息。

来源地址:https://blog.csdn.net/weixin_47407120/article/details/126380535

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

企业微信消息推送(推送给个人)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

.NET Core如何实现企业微信消息推送

这篇文章主要介绍了.NET Core如何实现企业微信消息推送的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇.NET Core如何实现企业微信消息推送文章都会有所收获,下面我们一起来看看吧。接口定义应用支持推送文
2023-07-02

Java实现给微信群中定时推送消息

这篇文章主要为大家详细介绍了Java如何实现给微信群中定时推送消息的功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以了解一下
2022-12-30

java微信公众号推送消息教程

本教程提供Java微信公众号消息推送指南,涵盖先决条件、依赖项、获取访问令牌、推送文本消息、图片消息、语音消息等功能。通过使用Java语言和第三方库,开发者可以实现微信公众号与用户交互的推送消息功能。
java微信公众号推送消息教程
2024-04-02

java微信公众号消息推送教程

本教程详细介绍了Java微信公众号消息推送的流程。首先需要准备AppID、AppSecret等信息。然后编写代码,包括引入相关库、定义消息推送方法、获取AccessToken方法以及获取HttpClient方法。接着在Java项目中测试代码。需要注意的是,AccessToken有效期为2小时,消息推送频率有限制,消息内容不能包含违规信息。
java微信公众号消息推送教程
2024-04-02

Linux推送服务的消息推送个性化设置

Linux推送服务通常提供了一些个性化设置选项,以使用户能够根据自己的偏好定制消息推送。以下是一些常见的个性化设置:消息类型:用户可以选择接收哪种类型的消息,如通知、警报、提醒等。推送频率:用户可以设置消息的推送频率,如实时推送、每日一次、
Linux推送服务的消息推送个性化设置
2024-08-24

微信公众号开发消息推送功能

微信公众号分为服务号、订阅号、企业号,订阅号可以个人申请,服务号和企业号要有企业资质才可以,这篇文章主要介绍了微信公众号开发消息推送功能,需要的朋友可以参考下
2023-02-15

如何使用Python实现给企业微信发送消息功能

如何使用Python实现给企业微信发送消息功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、概述下面将介绍如何使用python3给企业微信发送消息。我的环境是linux
2023-06-22

Python数据怎么推送到微信企业号

这篇文章将为大家详细讲解有关Python数据怎么推送到微信企业号,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。个人注册企业微信号requests的使用首先需要安装requests库:pip
2023-06-02

利用python对微信自动进行消息推送

from wxpy import * #该库主要是用来模拟与对接微信操作的import requestsfrom datetime import datetimeimport timeimport schedulefrom apsch
2023-01-30

Linux推送服务的消息推送与HTTPS加密通信的实现

要实现Linux推送服务的消息推送与HTTPS加密通信,可以使用以下步骤:配置HTTPS证书:首先需要获取SSL证书,可以通过自签名证书或者购买SSL证书。将证书和私钥文件上传到Linux服务器上。配置Web服务器:使用Nginx或Apac
Linux推送服务的消息推送与HTTPS加密通信的实现
2024-08-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录