企业微信应用文本消息

news2024/11/18 11:23:57

应用支持推送文本、图片、视频、文件、图文等类型,本篇主要实现发送应用文本消息。

获取企业凭证

发送应用消息首先需要获取调用凭证access_token,此处的凭证为企业凭证,可通过企业授权安装时返回的授权信息中获取access_token;之后可通过获取企业凭证进行刷新。

请求方式

POST

请求地址

https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN

请求包体

{
    "auth_corpid": "auth_corpid_value",
    "permanent_code": "code_value"
}

方法示例

需要授权企业id和企业永久授权码及三方企业凭证,先写好方法下方发送应用消息时使用。

代码如下:

/**
 * 获取授权企业access_token
 * @param $corpid
 * @param $permanent_code
 * @return array|mixed
 */
public function getCompanyToken($corpid, $permanent_code)
{
    $access_token = '三方企业凭证';
    $url = 'https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=' . $access_token;
    $params = json([
        'auth_corpid' => $corpid,
        'permanent_code' => $permanent_code
    ]);
    $info = $this->linkCurl($url, 'POST', $params);
    $res = djson($info);
    if (isset($res['errcode']) && $res['errcode'] != 0) {
        return toFail($res['errmsg']);
    }
    return toSuccess('success', ['token' => $res['access_token']]);
}

参数说明

参数

是否必须

说明

suite_access_token

三方应用凭证,获取点击可查看

auth_corpid

授权方企业corpid,通过获取永久授权码得到

permanent_code

永久授权码,通过get_permanent_code获取

 

返回结果

返回结果为json格式。

{
    "errcode":0 ,
    "errmsg":"ok" ,
    "access_token": "xxxxxx", 
    "expires_in": 7200
}

参数说明

参数

说明

access_token

授权方(企业)access_token,最长为512字节

expires_in

授权方(企业)access_token有效时间

应用消息

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

请求方式

POST

 

请求地址

https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

 

参数说明

参数

是否必须

说明

access_token

调用接口企业凭证

发送文本消息

其他消息类型需要上传临时素材后,才可调用暂无用到其他类型功能,因此本篇暂时只实现文本消息。

请求示例

通过上方封装好的凭证方法获取企业凭证,之后编辑好文本消息包体内容。

代码如下:

/**
 * 发送企业微信-文本消息
 * @return array|bool|mixed|string
 */
public function sendAppTextMsg()
{
    $get_token = $this->getCompanyToken('授权企业id', '企业永久授权码');
    if ($get_token['status'] != 1) {
        return $get_token;
    }
    $access_token = $get_token['data']['token'] ?? '';
    $url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?debug=1&access_token=' . $access_token;
    // 参数设置
    $params = json([
        "touser" => "YuanLaiShiNi",
        "msgtype" => "text",
        "agentid" => '授权企业安装时获取的agentid',
        "text" => [
            "content" => "今天已经是周三,请尽快完成计划完成事件。\n详情可点击<a href='http://www.baidu.com'>计划清单</a>查看,\n按照轻重缓急完成。"
        ],
        "safe" => 0,
        "enable_id_trans" => 0,
        "enable_duplicate_check" => 0,
        "duplicate_check_interval" => 1800,
    ]);

    return $this->linkCurl($url, 'POST', $params);
}

特殊说明

其中text参数的content字段可以支持换行、以及A标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的\n)

文本消息显示

返回内容
{"errcode":0,"errmsg":"ok","msgid":"WpLDpQFMGSE843kRbNhgXV0ggM0ngtU7e4rl2FNJGnSHw6BCjVyX8G_4bz8CpnrVjV1rbMI_h_xzkPismuXuQg"}

返回参数说明

参数

说明

errcode

返回码

errmsg

对返回码的文本描述内容

invaliduser

不合法的userid,不区分大小写,统一转为小写

invalidparty

不合法的partyid

invalidtag

不合法的标签id

unlicenseduser

没有基础接口许可(包含已过期)的userid

msgid

消息id,用于撤回应用消息

response_code

仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,72小时内有效,且只能使用一次

注意

支持重复消息检查,当指定 "enable_duplicate_check": 1开启: 表示在一定时间间隔内,同样内容(请求json)的消息,不会重复收到;时间间隔可通过duplicate_check_interval指定,默认1800秒。

调用建议:大部分企业应用在每小时的0分或30分触发推送消息,容易造成资源挤占,从而投递不够及时,建议尽量避开这两个时间点进行调用。

频率限制:每应用不可超过账号上限数*200人次/天(注:若调用api一次发给1000人,算1000人次;若企业账号上限是500人,则每个应用每天可发送100000人次的消息)。每应用对同一个成员不可超过30次/分钟,1000次/小时,超过部分会被丢弃不下发。

总结

感觉企业微信中的文本消息类似于手机中的短信,还可以加跳转网站的链接,操作比较简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nexus 制品库管理

目录 一、nexus 介绍 二、nexus 支持的仓库 三、nexus 部署 四、nexus 数据备份 五、创建一个内网yum源 六、创建一个代理yum仓库 七、jenkins 使用 nexus插件 7.1 jenkins 安装插件 7.2 配置 maven 工程 7.3 查看构建和上传 一、nexus 介绍 Nexus 是一个强大的仓库管…

【重点文章】将Java程序打包成exe文件,无Java环境也可以运行(解决各种疑难杂症)

文章目录 一、将Java程序打成jar包二、将Jar打成exe三、加壳改造成安装包 编译器为IDEA 一、将Java程序打成jar包 2. 3. 你打的包一般会出现在根目录下面的out文件夹下面  当然你也可以用maven的package功能打包&#xff0c;效果是一样的   二、将Jar打成exe 使用工具e…

AD4209 双路LED、集成充电一体 可做双色温芯片调节 适用于台灯、手电筒

AD4209 是一款双路输出的可调色温的 台灯控制芯片&#xff0c;集成了锂电池充电管理模块、 LED 功能控制模块和保护模块&#xff0c;关机待机电流仅 3uA。 AD4209 为双路输出控制&#xff0c;每一路最大输出 电 流 为 1.2A 开 关 模 式 &#xff1a;CH1→CH2→CH1CH2→OFF。…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…

EasyRecovery2024免费强大的电脑文件恢复软件

文件的保存一直是我们对电子化数据较为关注的一个环节&#xff0c;毕竟这是一份文件或数据的根本所在。但是在计算机操作中难免会出现有文件丢失或文件误删的现象&#xff0c;给我们的日常和工作带来不必要的困扰。 今天小编就要和大家分享一款功能超级强大的文件恢复软件&…

DCGAN 使用指南:将卷积神经网络和对抗网络结合,适用于生成小尺寸的图像

DCGAN 使用指南&#xff1a;将卷积神经网络和对抗网络结合 网络结构细节设计 论文地址&#xff1a;https://arxiv.org/abs/1511.06434 项目代码&#xff1a;https://github.com/tensorlayer/DCGAN.git DCGAN 适用于生成小尺寸的图像&#xff0c;并且具有简单易用的优势 Styl…

使用 Webshell 访问 SQL Server 主机并利用 SSRS

本文将指导您使用RDS SQL Server实例的主机账号登录和管理SQL Server Reporting Services&#xff08;SSRS&#xff09;数据库。 背景信息 RDS SQL Server提供Webshell功能&#xff0c;用户可以通过Web界面登录RDS SQL Server实例的操作系统。通过Webshell&#xff0c;用户可…

中国毫米波雷达产业分析3——毫米波雷达市场分析(1~3)

一、总体市场 &#xff08;一&#xff09;总规模 近几年&#xff0c;得益于汽车智能化的高速发展与雷达芯片制作工艺的进步&#xff0c;国内毫米波雷达整体市场增速较快。根据初步测算&#xff0c;2022年中国毫米波雷达市场总规模达到86亿元&#xff0c;实现同比增长24.6%。 图…

加密挖矿、AI发展刺激算力需求激增!去中心化算力时代已来临!

2009年1月3日&#xff0c;中本聪在芬兰赫尔辛基的一个小型服务器上挖出了比特币的创世区块&#xff0c;并获得了50BTC的出块奖励。自加密货币诞生第一天起&#xff0c;算力一直在行业扮演非常重要的角色。行业对算力的真实需求&#xff0c;也极大推动了芯片厂商的发展&#xff…

安装vmware_esxi 超详细

安装vmware_esxi 超详细 </h2><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">esxi安装手册 1、esxi介绍 ESXI原生架构模式的虚拟化技术&#xff0c;是不需要宿主操作系统的&#xff0c;它自己本身就是操作系统。因此…

Maven 进阶学习指南---setting详解

前言 当我们在开发项目时&#xff0c;有时需要用到外部依赖组件&#xff0c;例如当我们需要 Json 序列化的时候需要用到 FastJson 组件&#xff0c;我们可以通过下载对应 jar 包加载到项目中。但当一个大的项目同时需要依赖各种各样的外部服务&#xff0c;就存在着配置繁琐、依…

Ubuntu22.04 server版本关闭DHCP,手动设置ip

在Ubuntu 22.04 中&#xff0c;网络配置已迁移到 Netplan&#xff0c;因此可以使用 Netplan 配置文件来手动设置 IP 地址并关闭 DHCP。 以下是在 Ubuntu 22.04 上手动设置 IP 地址并禁用 DHCP 的步骤&#xff1a; 打开终端&#xff0c;使用 root 权限或 sudo 执行以下命令&…

004:Direct 2D离屏渲染(Qt中实现)

简介&#xff1a; 用QT开发图像显示的小程序&#xff0c;需要一些标注工具&#xff0c;由于用的是opengl渲染&#xff0c;所以就在内存中进行绘制&#xff0c;然后纹理贴图贴出去&#xff0c;发现Qt绘制的效果太差&#xff0c;且速度一般&#xff0c;于是就想着用direct2d来绘制…

48、Flink DataStream API 编程指南(3)- 完整版

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

【element-plus使用】el-select自定义样式、下拉框选项过长等问题解决

1、自定义样式 <template><el-select v-model"value" style"width: 150px"><el-option label"选项一" value"option1"></el-option><el-option label"选项二" value"option2"><…

C++ 抽象类和接口 详解

目录 0 引言1 抽象类2 接口2.1 Java与C接口的区别 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;C专栏&#x1f4a5; 标题&#xff1a;C 抽象类和接口 详解❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事非经过不知难&#xff01;&#x1f…

springboot整合easy-es实现数据的增删改查

背景 目前公司的一个老项目&#xff0c;查询贼慢&#xff0c;需要想办法提升一下速度&#xff0c;于是就想到了ES&#xff0c;现在尝试一下将ES整合到项目中来提升检索效率。 ES是基于倒排索引实现的&#xff0c;倒排索引中一个表相当于一个索引&#xff0c;表中的每条记录都…

yolov1网络结构说明

文章目录 一. 网络结构二. 网络说明1. 网络的输入2. 网络的输出(1) 5 5表示:每个网格使用两个先验框进行预测。(2) “5”表示&#xff1a;每个先验框包含的预测信息的数量。(3) 20表示&#xff1a;20个分类预测值(4) 每个网格能预测几个目标&#xff1f; 一. 网络结构 论文下…

海外储能认证标准

北美认证 UL9540 代表一个封装完整的储能系统功能安全认证&#xff0c;关注机械测试&#xff0c;电器测试和环境测试 UL9540A 关注消防本身&#xff0c;UL9540A测试主要从电池储能系统安装参数&#xff0c;安装通风要求&#xff0c;消防设施&#xff0c;消防策略和应对措施…

一个小学数学题

如下面动图所示&#xff0c;问阴影部分的面积是不是不变的&#xff1f; 求解&#xff1a; 当弦BC和DE平行时&#xff0c;扇区 A B ⌢ \overset{\LARGE{\frown}}{AB} AB⌢不变&#xff0c;BC到DE的距离始终保持不变&#xff0c;假设两条线段之间的距离为H, 由三角形的面积公式&…