微信企业号开发1--连接

企业微信自建应用通过PHP进行收发消息 我们在企业微信的使用中肯定会用到自建应用,自建应用使用最多的功能就是消息的推送,使用的场景也有很多,例如在公司内网的程序上,想要监控员工在什么时候做了一些敏感操作,可以在进行操作时候推送一条消息到自建应用上。同样包括了3个通过GET方式传递的参数,消息体签名(msg_signature),时间戳(timestamp)以及随机数字串(nonce),还有一个POST请求的数据,需要进行xml解析,并将。企业的接收消息服务器接收到验证请求后,需要作出正确的响应才能通过URL验证。方法来解析返回的XML。... 阅读详情

1.官方文档:http://mp.weixin.qq.com/wiki/10/6380dc743053a91c544ffd2b7c959166.html

2.查看文档中的接入方法和接入成功的判断标准


返回解密后的明文即为调用成功

3.下载官方文档中解密提供的源码

http://qydev.weixin.qq.com/wii/index.php?ktitle=%E5%8A%A0%E8%A7%A3%E5%AF%86%E5%BA%93%E4%B8%8B%E8%BD%BD%E4%B8%8E%E8%BF%94%E5%9B%9E%E7%A0%81


4.创建web项目,将下载好的java项目中的src下的包导入这个web项目src包下,创建servlet,调用源码中已有的方法

package com.baosight.wechat.servlet;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;




import com.qq.weixin.mp.aes.AesException;
import com.qq.weixin.mp.aes.WXBizMsgCrypt;


/**
 * Servlet implementation class connect
 */
public class connect extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public connect() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String sVerifyEchoStr = request.getParameter("echostr");
        String sEchoStr=null; //需要返回的明文
        try {
        	String token = "yourToken";
        	String encodingAesKey = "yourAesKey";
        	String corpId = "yourCorpId";

            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAesKey, corpId);
            String sVerifyMsgSig = request.getParameter("msg_signature");
            String sVerifyTimeStamp = request.getParameter("timestamp");
            String sVerifyNonce = request.getParameter("nonce");

            sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,
                    sVerifyNonce, sVerifyEchoStr);
        } catch (AesException e1) {
            sEchoStr="ERR: "+e1.getCode()+ "\n\n";
            e1.printStackTrace();
        }

        response.getWriter().print(sEchoStr);
        response.getWriter().flush();

    }

    /**
     * 解析post提交的数据,并转交给处理程序
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //获得请求参数
    	String token = "yourToke";
    	String encodingAesKey = "yourAesKey";
    	String corpId = "yourCorpID";
        String sReqMsgSig =  request.getParameter("msg_signature");
        String sReqTimeStamp = request.getParameter("timestamp");
        String sReqNonce = request.getParameter("nonce");
        //获得post提交的数据
        BufferedReader br=new BufferedReader(new InputStreamReader(request.getInputStream()));
        StringBuilder sbuff=new StringBuilder();
        String tmp=null;
        while((tmp=br.readLine())!=null){
            sbuff.append(tmp);
        }
        String sReqData = sbuff.toString();
        String sEchoStr=null;
        try {
            WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token,encodingAesKey, corpId);
            String sMsg = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData);


            sEchoStr = wxcpt.EncryptMsg(sEchoStr, sReqTimeStamp, sReqNonce);
        } catch (AesException e1) {
            sEchoStr="ERR: "+e1.getCode()+ "\n\n";
            e1.printStackTrace();
        }
        response.getWriter().print(sEchoStr);

    }
}

5.在服务器上部署项目,并运行

6.登录启用回调模式,设置url token aesKey

url为所访问的servlet



点击完成,显示:成功配置企业服务器



注意问题:



微信企业号开发(8)--示例代码 [本文所描述的内容具有一定的时效性,请以实际开发所处环境为准] 在前面的几篇文章中,我们已经叙述了,微信企业号中常见功能的实现原理,今天我们按照文章的顺序,给出相应的功能节点的示例代码。但是,对于程序的结构,还请各位看官按照自己的实际需求重新设计,另外,在github上,已经有现成的关于微信开发的开源项目,有兴趣的读者也可以学习一下。 ----------------------------- 阅读详情

相关推荐

微信企业号开发(1)--基础入门

[本文所描述的内容具有一定的时效性,请以实际开发所处环境为准] 在前面的几篇文章中,我们已经介绍了微信公众平台的基本知识,如何注册与使用,图形界面话的微信功能。在接下来的文章中,我们来学习如何在开发模式下,让微信提供的服务接入我们的程序当中。首先,我们来从系统框架上学习和了解如何设计微信服务在我们系统中所处的位置。 [备注:博主刚刚开始做微信开发,从设计上,代码优化上肯定不能与市面上已经出现的

y-yg的博客 3万+

微信企业号开发六:回调模式之消息回复

回调模式的消息回复,可以在Post中使用输出流直接输出,输出的内容为加密的XML格式 也就是说只要会了消息加密就可以,完成消息回复,微信工具类还是去http://qydev.weixin.qq.com/wiki/index.php?title=加解密库下载与返回码 官网下载,使用WXBizMsgCrypt类中的EncryptMsg进行加密 ------------------...

牟云飞的博客 8650

微信企业号开发—开发模式的开启

首先说微信企业号的开发模式分为:编辑模式(普通模式)和开发模式(回调模式),在编辑模式下,只能做简单的自定义菜单和自动回复消息,要想实现其他功能还得开启开发者模式。 一、编辑模式和开发模式对消息的处理流程  1.编辑模式下,所有的业务流程都配置在微信服务器上,由它处理   2.开发模式,消息通过第三方服务器处理,最后经过微信服务器把消息发送给用户        开发模式能处理的消息

张晓 8154

企业微信web登录实现

企业微信web登录使用构建授权登录链接实现的全过程。

json_li的博客 3767

微信JS接口- 企业号开发者接口文档

目录 1 概述 1.1 使用说明 1.1.1 步骤一:引入JS文件 1.1.2 步骤二:通过config接口注入权限验证配置 1.1.3 步骤三:通过ready接口处理成功验证 1.1.4 步骤四:通过error接口处理失败验证 1.2 接口调用说明 2 基础接口 2.1 判断当前客户端版本是否支持指定JS接口 3 分享接口 3.1 获取“分...

YiFeng_888的博客 6079

微信企业号开发实战:Java实现

微信企业号是腾讯微信团队为企业用户提供的移动应用开发平台。它允许企业内部员工通过微信高效沟通,并整合企业应用,打通企业与员工、上下游供应链的沟通协作流程。企业号不仅是简单的消息平台,还支持丰富的自定义接口和服务,实现企业内部流程的自动化和数据化管理。微信企业号在进行接口调用时,需要先获取一个有效的access_token。基本原理是通过企业号的后台服务发起验证请求到微信服务器,并获得一个凭证(access_token),这个凭证相当于是一把钥匙,可以用来访问微信提供的企业号API接口。

weixin_36300623的博客 1339

微信企业号开发之接收响应消息

上一篇讲了企业号如何开启回调模式,回调模式开启成功后,企业号后台服务器就可以接收和响应客户端发来的消息。客户端发送的消息微信会推送到回调模式中设置的URL中去,接收和响应消息的格式都为xml形式,消息分为以下几种类型: text消息 1348831860 1234567890123456 1 参数 说明...

冰咖啡的专栏 6132

易语言 企业微信 WXBizMsgCrypt 类函数调用例程.VerifyURL, DecryptMsg, EncryptMsg三个接口

易语言 企业微信 WXBizMsgCrypt 类函数调用例程.VerifyURL, DecryptMsg, EncryptMsg三个接口

微信开发平台授权过程

1、处理授权响应 在微信开放平台注册第三方并配置响应授权响应地址,响应地址可以是任意能响应的controller,将参数解析(解密参数)、获取流数据(xml带解析加密串) /** * 处理响应事件,平台授权入口 */ public void handlerVerifyTicket(String msgSignature,String timeStamp,String nonc

望着下雨的天 814

微信机器人开发:基于HOOK技术的微信公众号与企业微信数据采集与数据库解密方案

HOOK技术框架与微信平台数据交互机制研究 本技术文档系统阐述基于HOOK机制的微信客户端数据捕获与处理方案,涵盖个人微信及企业微信双平台。该框架通过底层系统拦截技术,实现对微信客户端通信协议的实时解析与数据重组,具备结构化信息提取能力。 在微信公众号数据采集方面,该技术方案采用非侵入式数据捕获模式,通过内存读取与协议解析相结合的方式,获取公众号文章元数据、用户交互数据及内容传播数据。所有采集过程均在本地完成,不依赖第三方服务器中转。 企业级应用模块特别设计了分布式架构支持,可同时管理多个企业微信实例的数据流。系统采用模块化加密存储方案,所有捕获数据均经过多层加密处理,确保数据在存储与传输过程中的完整性与保密性。 技术实现层面包含以下核心组件:动态链接库注入引擎、实时数据过滤管道、结构化数据转换器以及异常处理机制。每个组件均采用独立线程运行模式,确保系统在高并发场景下的稳定性与响应效率。 该框架严格遵循本地化处理原则,所有数据解析与重组操作均在用户终端设备完成,不涉及远程服务器数据传输。系统提供完整的日志记录与审计功能,所有数据操作均可追溯验证。 注意事项:本技术文档所述方案仅限用于符合相关法律法规的技术研究场景,使用者应确保其应用行为符合《网络安全法》《个人信息保护法》等现行法律法规要求。任何数据采集行为必须获得相应授权,且不得用于侵害他人合法权益的用途。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

微信消息解密工具指南[代码]

本文介绍了WechatDecrypt微信消息解密工具的使用指南与问题解答。该工具由HackerDev-Felix开发,是一款开源的C++项目,专注于解密微信数据库中的加密消息,便于用户访问和分析聊天数据。文章详细说明了新手使用时的注意事项,包括环境配置与依赖、数据库路径正确性以及权限与数据安全。具体步骤包括安装C++编译器和SQLite库、定位微信数据库文件、运行解密命令以及数据备份等。通过遵循这些步骤,用户可以更顺利地使用该工具,同时确保数据的安全和完整性。最后,文章提醒用户在使用解密工具时应遵守相关法律和隐私条款。

微信企业号开发之如何建立连接(1)

通过主动调用模式、回调模式和JSAPI模式三种连接方式的结合,你可以在企业号中建立功能强大的移动轻应用,并依托微信数亿活跃用户,帮助企业方便、快捷地实现应用的部署,并确保应用的活跃度。 AD:WOT2015 互联网运维与开发者大会 热销抢票 连接将使你的企业号更具价值,你可以使用以下三种方式,连接你的企业号及企业应用: 1、企业应用调用企业号提供的接口,管

killcwd的专栏 2116

Alibaba Java Coding Guidelines,以后我的Java代码规范,就靠它了

前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求。但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java 程序员也无法做到时刻将规范牢记于心。所以对于代码规范扫描工具,一经问世就广受青睐,阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描,以下简称为AJCG)插件便是其...

java梦工厂 859

视频教程-微信公众平台企业号开发Java版第1课——建立连接-微信开发

微信公众平台企业号开发Java版第1课——建立连接 微信企业号星级会员。10...

weixin_28975249的博客 266

cutlass2.x源码解读之PitchLinearStripminedThreadMap

TensorCoord:使用layout::PitchLinearCoord作为张量坐标。Shape:使用模板参数Shape_作为tile的形状,kThreads:线程总数,定义为模板参数Threads。kElementsPerAccess:每次访问的元素数,定义为模板参数ElementsPerAccess。ThreadAccessShape:线程访问的形状,使用layout::PitchLinearShape定义。内部实现细节:ShapeVec。

jiangjkd的专栏 789

CMOS图像传感器系列--(四)HDR之LOFIC技术

CMOS图像传感器HDR技术之LOFIC解析 LOFIC(横向溢出积分电容器)技术是当前高动态范围成像的重要方案,通过在像素光电二极管旁设置高密度电容器收集溢出电荷,有效保留高光细节。该技术采用特殊像素结构,通过skim level触发电荷转移,实现单帧HDR成像。然而LOFIC存在显著局限性:高光区域噪声明显且难以消除,动态范围拓展不均衡(主要优化亮部),需复杂MIM工艺导致成本升高。为应对挑战,行业提出混合方案(如结合DCG技术)和工艺改进方向。OmniVision最新车载传感器OX08D10就采用了L

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 5799

微信公众平台企业号开发Java版第1课——建立连接-翟东平-专题视频课程

"微信公众平台企业号开发Java版"系列课程,采用java语言细致、详尽、全面地讲解微信企业号开发的相关知识点。该套课程,在"微信公众平台深度开发Java版v2.0"的基础上,对企业号开发的“回调模式”、“主动调用模式”、“JSAPI模式”分类讲解。贯彻“简单、高效、快捷”的课程特色,采用“一课两知识点”的课程进度,保证课程质量的同时,尽可能的压缩课程时间,让学员“以短的时间,学到多的知识”。课程...

zhaidp_java的博客 366

【三维重建】基于多视角图像的三维重建

基于多视角图像的三维重建》

m0_64446860的博客 8759

微信企业号开发java_微信公众平台企业号开发Java版_1建立连接 - 学途无忧网 - 做技术的王者 - Powered By EduSoho...

{"i18nChapterName": "章","i18nUnitName": "节","i18nLessonName": "课时","i18nTaskName":"任务"}{"text": {"icon": "es-icon es-icon-graphic","name": "图文"},"video": {"icon": "es-icon es-icon-video","name": "视频"}...

weixin_34526733的博客 85

llama.cpp 参数调优大全(4060 最优配置)

本文针对NVIDIA RTX 4060(8GB显存)显卡,提供了llama.cpp参数调优的实战指南。核心策略是采用小模型(7B/8B)配合Q4_K_M量化,通过合理设置GPU层数(-ngl 28)、上下文长度(-c 2048)和批量大小(-b 512)来平衡性能和显存占用。重点推荐启用flash-attn加速和mlock内存锁定,并给出标准、高性能和保守三种配置方案。调优优先级为:GPU利用率>吞吐量>显存>线程数,同时警示避免常见错误如过大上下文或GPU层数设置。最终推荐4060最佳配置为7B Q4_

刘一说的IT专栏 3403

2026年软考信息安全工程师备考指南

信息安全工程师是信息产业部和人事部举办的软考中新增开的一门考试。软考全称全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格,是信息产业部和人事部在最新的“国人厅发[2007]139号文件中新增的专业。2016年下半年,第一次开考信息安全工程师(中级)考试。 考试科目: 1.信息安全基础知识,考试时间为150分钟,笔试,选择题; ...

鹿鸣天涯 7397

微信企业号开发-如何建立连接

微信企业号开发-如何建立连接

qq_44935705的博客 1438

2026.1.9:最新VSCode集成claude插件完美解决方案,跳过登录界面,使用国内Kimi K2进行计费

本文介绍了如何安装配置Claude插件并连接Kimi K2 API的详细步骤:1)搜索安装Claude插件;2)进入设置关闭登录提示;3)在settings.json中添加API配置,包括ANTHROPIC_AUTH_TOKEN(需替换为Kimi API Key)和ANTHROPIC_BASE_URL;4)通过Kimi官网获取API Key。完成配置后即可正常使用该插件。文中配有完整的操作截图指引。

拥抱具身智能,昇腾Ascend C 8722

微信企业号开发

基于微信企业号的H5应用,相对于单独客户端的应用,具有开发周期短、开发相对简单的特点。微信凭借于庞大的用户群,构建了一个内置于移动应用用中的"类应用商店"。用户只需关注,即可马上使用,完全免去下载的麻烦。基于这种优势,微信公众号开发可谓如火如荼。    微信公众平台的账号目前分为3类,分别为服务号,订阅号,企业号,基于是否认证,又区分为普通号和认证号...

Cassaba的专栏 4207

【YOLO26实战全攻略】10——YOLO26+SAM3实战:从检测到像素级分割的全流程指南(含PCB缺陷检测案例)

本文聚焦YOLO26与SAM3的融合应用,系统讲解“检测+分割”的三种核心模式:YOLO26原生分割(轻量高效)、YOLO26检测+SAM3精细分割(精度极致)、SAM3自动标注+YOLO26蒸馏(低成本冷启动)。从环境搭建、数据集准备、模型训练、性能优化到边缘部署,提供 step-by-step 实操教程,配套完整可运行代码与执行结果。结合虚拟PCB缺陷检测案例,展示像素级缺陷识别与几何参数测量的工业级应用流程。本文兼顾新手入门与进阶提升,注重实用价值,读者可直接参考搭建自己的分割系统。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 625

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

微信企业号客服功能开发PHP

微信企业号在线客服功能开发(PHP)回调模式开启回调菜单在线客服客服用户对话连接接收文本信息发送文本信息 回调模式 对企业号进行开发的必要条件,就是开启回调模式。 开启回调 index.php /* ------------验证回调URL--------------- *企业开启回调模式时,企业号会向验证url发送一个get请求 假设点击验证时,企业收到类似请求: * GET /cgi-bin/...

baidu_32426435的博客 1897

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Uncaught TypeError: Cannot read property 'value' of null
下一篇: 微信企业号开发2--消息回复
programmeryu
博客等级 码龄11年 23粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值