当前位置: 首页 > news >正文

网络ip查询网站网页制作与网站建设从入门到精通 下载

网络ip查询网站,网页制作与网站建设从入门到精通 下载,手机网站改版,seo优化快排1、企微配置可信域名 2、企微获取成员userID 3、企微获取用户敏感数据 4、企微配置回调服务 文章目录 一、简介1、概述2、相关文档地址 二、企微配置消息服务器1、配置消息接收参数2、参数解析3、参数拼接规则 三、代码编写—使用已有库1、代码下载2、代码修改3、服务代码编写 …

1、企微配置可信域名
2、企微获取成员userID
3、企微获取用户敏感数据
4、企微配置回调服务


文章目录

    • 一、简介
      • 1、概述
      • 2、相关文档地址
    • 二、企微配置消息服务器
      • 1、配置消息接收参数
      • 2、参数解析
      • 3、参数拼接规则
    • 三、代码编写—使用已有库
      • 1、代码下载
      • 2、代码修改
      • 3、服务代码编写
    • 四、测试


一、简介

1、概述

什么时候需要回调服务

在集成企业微信与内部系统时,我们往往需要搭建一个回调服务。回调服务,可以实现:

  • 自定义丰富的服务行为。比如,用户向应用发消息时,识别消息关键词,回复不同的消息内容;用户点击应用菜单时,转化为指令,执行自动化任务。
  • 可以及时获取到状态变化。比如,通讯录发生变化时,不需要定时去拉取通讯录对比,而是实时地获取到变化的通讯录结点,进行同步。

回调流程:

  • 企业微信会先判断URL服务是否具备解析企业微信推送消息的能力。
    具体方式是,企业微信往URL服务上发一条Get请求带签名及密文参数到URL服务上,如果URL服务检查签名通过,并能正确返回密文参数对应的明文字符串,则验证通过。此时在企业微信的配置就开始生效。
  • 后续的业务请求(比如应用菜单的点击事件,用户消息等),都会类似的方式(签名+密文)向服务URL推送消息。URL服务验证签名通过后,需要将POST数据解密,就可以得到对应的业务消息明文。

在这里插入图片描述

企业收到消息后,需要作如下处理:

  1. 对msg_signature进行校验
  2. 解密Encrypt,得到明文的消息结构体(消息结构体后面章节会详说)
  3. 如果需要被动回复消息,构造被动响应包
  4. 正确响应本次请求
    · 企业微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次
    · 当接收成功后,http头部返回200表示接收ok,其他错误码企业微信后台会一律当做失败并发起重试

2、相关文档地址

1、回调配置

https://developer.work.weixin.qq.com/document/path/90930

2、接收消息与事件

https://developer.work.weixin.qq.com/document/10514

3、加解密方案说明

https://developer.work.weixin.qq.com/document/path/90968

4、加解密库下载与返回码

https://developer.work.weixin.qq.com/document/path/90307

二、企微配置消息服务器

1、配置消息接收参数

在这里插入图片描述

请添加图片描述

URL:http://8.131.239.157
Token:UPN8pOCL
EncodingAESKey:Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OZwjp3T2-1692458157388)(/Users/liyangda/Library/Application Support/typora-user-images/image-20230819222344569.png)]

2、参数解析

整体会用到8个参数。

参数必须说明
urlURL是企业后台接收企业微信推送请求的访问协议和地址,支持http或https协议。
tokenToken可由企业任意填写,用于生成签名。
encodingAesKeyEncodingAESKey用于消息体的加密,是AES密钥的Base64编码。
receiveid加解密库里,ReceiveId 在各个场景的含义不同:
1. 企业应用的回调,表示corpid。
2. 第三方事件的回调,表示suiteid。
3. 个人主体的第三方应用的回调,ReceiveId是一个空字符串
msg_signature企业微信加密签名,msg_signature结合了企业填写的token、请求中的timestamp、nonce参数、加密的消息体
timestamp时间戳
nonce随机数
echostr加密的字符串。需要解密得到消息内容明文,。

3、参数拼接规则

请求方式:GET
请求地址

http://api.3dept.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS&timestamp=13500001234&nonce=123412323&echostr=ENCRYPT_STR
http://8.131.239.157?msg_signature=ed7c74fcb19645d3c8312e703063539fe96a532c&timestamp=1692450209&nonce=1693051991&echostr=9fGql+XxePufd9E71gh4kXooAJJ+PtxH3MwwZWzxFNdZwTT3qccs6zHxFEDtGuaxJHWktTV97BiKkJI+rOhcPw==

三、代码编写—使用已有库

这次采用的是企微提供的已由库方式,进行验证。

1、代码下载

源代码地址:https://developer.work.weixin.qq.com/document/path/90307

在这里插入图片描述

2、代码修改

因为参数执行有一些问题,需要对提供的工具类进行修改。

请添加图片描述

修改内容

		// 密钥,公众账号的app secret// 提取密文
//		Object[] encrypt = JsonParse.extract(postData);Object[] encrypt = new Object[]{postData,postData};

请添加图片描述

3、服务代码编写

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.9</version>
</dependency>
<dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20180813</version>
</dependency>

代码编写

import com.lydms.demowechat0.WechatUtils.AesException;
import com.lydms.demowechat0.WechatUtils.WXBizJsonMsgCrypt;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
public class AllTwoController {@RequestMapping("/*")public String getCheckInfo(String msg_signature, String timestamp, String nonce, String echostr) throws AesException {String token = "UPN8pOCL";String encodingAesKey = "Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX";String receiveid = "ww3e40cde07cc21a01";log.info("msg_signature:{},timestamp:{},nonce:{},echostr:{}", msg_signature, timestamp, nonce, echostr);log.info("token:{},encodingAesKey:{},receiveid:{}", token, timestamp, receiveid);WXBizJsonMsgCrypt wxBizJsonMsgCrypt = new WXBizJsonMsgCrypt(token, encodingAesKey, receiveid);String str = wxBizJsonMsgCrypt.DecryptMsg(msg_signature, timestamp, nonce, echostr);log.info("return:{}", str);return str;}
}

测试代码:

/*** 测试代码** @param args* @throws AesException*/
public static void main(String[] args) throws AesException {//  TokenString token = "UPN8pOCL";//String encodingAesKey = "Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX";//String receiveid = "ww3e40cde07cc21a01";//  企业微信加密签名String msgSignature = "359410caca920fe74a426f5a3057ad437b3b9fa4";//  时间戳String timeStamp = "1692448043";//  随机数String nonce = "1692495025";//  加密的字符串String echostr = "BrO11qZxqM8TBczJq17VRzSnhJff5aGXgnTvWl+yGaoAZ+dd5xg1VxbmmPzMJMmkNPv6DSlpMQ6vz4lwoCXMjg==";WXBizJsonMsgCrypt wxBizJsonMsgCrypt = new WXBizJsonMsgCrypt(token, encodingAesKey, receiveid);//  解析后的值:7695278663958312959String s = wxBizJsonMsgCrypt.DecryptMsg(msgSignature, timeStamp, nonce, echostr);System.out.println(s);
}

四、测试

将服务部署到配置的URL地址后:http://8.131.239.157。点击保存

在这里插入图片描述

保存成功

在这里插入图片描述

查看用户消息

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/871205/

相关文章:

  • 有专门下载地图做方案的网站吗做清洁找什么网站
  • 开源网站管理系统给帅哥做奴视频网站
  • 工业核信息化部网站备案系统wordpress创建滑块
  • 沈阳品牌网站建设php网站开发教程图片
  • dede网站运行天数短视频剪辑培训班多少钱
  • 华能集团网站建设方案项目分析什么叫平台公司
  • 一个专门做熊的网站饮品网页设计图片
  • 邯郸网站建设兼职淘宝不能发布网站源码做商品
  • 如何查公司网站谁家做的网站建设的重要性意义
  • 简洁的网站地图模板宁波优化网站厂家
  • 电子商务网站设计与管理宁波网站建设策划公司排名
  • c 做特产网站软件外包服务内容
  • 字体设计网站有哪些免费怎么让百度搜出自己
  • 怎样注册网站帐号申请wordpress 在线pdf
  • h5 服装网站模板网页设计毕业设计开题报告
  • php网站用到的知识购买域名和服务器
  • 做网站现在赚钱吗周口seo推广
  • 手机网站一键分享做网站的编程语言组合
  • 公司做网站需要准备什么材料jsp做网站
  • 制作营销网站模板wordpress0基础
  • 现在网站做多宽的网站建设预计资金投入
  • 网站如何做那种诱导广告域名购买需要多少钱
  • 竞价网站做推广方案网站开发哪种专业
  • 大连做公司网站哪家好网站怎么收录到百度
  • 建设一个商业网站费用哪些网站是营销型网站及原因
  • 门头沟青岛网站建设设计公司口号
  • 网站转跳怎么做电商网站上信息资源的特点包括
  • 最容易做的门户网站网站系统评测要怎么做呢
  • 专业的新乡网站建设wordpress 任务发布插件
  • 免费的静态网站托管怎么推广效果好呢网站怎么做推广