注:文中绿色部分为摘自微信官方文档

第三方应用提供给企业的是一个应用,但是应用必须在套件下创建,所以第一步是要创建套件。

  

注册成为应用提供商,必须输入以下信息:

信息项 要求及说明
企业Logo 应用提供商的企业Logo,小于2M,640*640,背景为白色
企业简称 使用对外宣传的企业简称,能代表企业的名字,2-16个字
企业简介 描述企业所提供的服务,4-120个字
企业官网 应用服务商的企业官网

注册条件:a)拥有一个已经过认证的企业号 b)用系统管理员身份进行申请

摘自http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BA%94%E7%94%A8%E6%8F%90%E4%BE%9B%E5%95%86%E6%B3%A8%E5%86%8C%E5%BA%94%E7%94%A8 

符合以上条件后,登录微信第三方应用官网,选择“服务商登录”

 登陆后界面如下,选择添加应用套件

创建应用套件

开发者完成注册之后,即可创建应用套件。应用套件是第三方应用授权的主体,接口的开发都与应用套件息息相关,请开发者仔细阅读下方内容。

基本信息:

信息项 要求及说明
应用套件Logo 应用套件的Logo,小于2M,640*640,在授权页会被用于展示。
应用套件名称 应用套件的名称,2-16个字
介绍网站 介绍该应用套件网站或者页面
应用套件介绍 描述该应用套件所提供的服务,4-120个字
授权方式 使用方式目前有两种:线上自助注册授权使用和服务商辅助授权使用。
服务行业 该应用套件所服务的行业对象,一个套件只能属于一个服务行业。
套件标签 套件提供的服务类型,如OA办公、CRM、HR、ERP等。一个套件只能拥有一个标签。

注意:

1)你应谨慎选择所填写的行业和标签,行业是指可使用该套件企业所属的行业。当应用套件达到一定的活跃度后(授权企业数和日活跃用户数),会自动在企业号第三方官网进行推荐,套件所在的分类将基于所设置的行业和标签。

2)授权方式的作用在于区分应用套件是否可以直接从企业号第三方官网发起授权,线上自助注册授权使用是指该应用套件可以直接从企业号第三方官网发起授权,而不跳转服务商网站,该类型的应用套件还可以支持移动端发起应用套件授权;服务商辅助授权使用是指该应用套件必须跳转服务商网站,从服务商网站发起应用套件的授权,该类型的应用套件不支持移动端发起应用套件授权。

3)你可以创建或者选择其他开发者已创建的标签。你应该谨慎选择套件标签,用户往往会在企业号中通过标签查找相关联的套件。

开发信息:

套件参数内容 说明
发起授权域名 在该域名下发起的授权请求才可被通过,企业点击授权链接时,企业号会检查该域名是否已登记。
授权完成回调域名 在第三方应用授权流程中,授权成功后会回调该域名,返回临时code。你需用此code换取永久授权码,请尽量将此域名与发起授权域名保持一致。
系统事件接收URL 系统将会把此套件的授权变更事件以及ticket参数推送给此URL,ticket说明详见API接口说明。(填写URL时需要正确响应微信验证URL的请求,具体说明请阅读“回调模式”)
Token 可任意填写,用于生成签名,校验回调请求的合法性。后续所有托管的企业产生的回调消息都使用该值来解密。
EncodingAESKey 回调消息加解密参数,是AES密钥的Base64编码,用于解密回调消息内容对应的密文。后续所有托管的企业产生的回调消息都使用该值来解密。
应用套件ID 应用套件的编号,相关的接口调用需要使用,由系统生成,不可更改。
应用套件secret 应用套件的密钥,相关的接口调用需要使用。
白名单IP列表 应用套件调用企业号第三方应用API时的合法IP列表,只有白名单内的IP才能正常调用企业号API,后续IP若有修改,需要及时进行列表更新。

创建完成之后,系统会告知开发者该应用套件的Suiteid和Suitesecret。(详见第三方应用接口说明)

摘自http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BA%94%E7%94%A8%E6%8F%90%E4%BE%9B%E5%95%86%E6%B3%A8%E5%86%8C%E5%BA%94%E7%94%A8

进入创建套件页面,填写基本资料

点击下一步,填写开发资料

关于"系统事件接收URL"的填写 

系统事件接收URL支持$CORPID$模板,调用时会将$CORPID$替换成企业号的corpid,所以"系统事件接收URL"可以写成

http://AAA.com/api/weixin/callback.do?corpid=$CORPID$

验证URL有效性

当你提交以上信息时,企业号将发送GET请求到填写的URL上,GET请求携带四个参数,企业在获取时需要做urldecode处理,否则会验证不成功。

参数 描述 是否必带
msg_signature 微信加密签名,msg_signature结合了企业填写的token、请求中的timestamp、nonce参数、加密的消息体
timestamp 时间戳
nonce 随机数
echostr 加密的随机字符串,以msg_encrypt格式提供。需要解密并返回echostr明文,解密后有random、msg_len、msg、$CorpID四个字段,其中msg即为echostr明文 首次校验时必带

企业通过参数msg_signature对请求进行校验,如果确认此次GET请求来自企业号,那么企业应该对echostr参数解密并原样返回echostr明文(不能加引号,不能带bom头,不能带换行符),则接入验证生效,回调模式才能开启。

摘自http://qydev.weixin.qq.com/wiki/index.php?title=%E5%9B%9E%E8%B0%83%E6%A8%A1%E5%BC%8F

"系统事件接收URL"响应的代码如下

/*** 微信回调响应* @author:leap* @MethodName: callback * @Description: * @param req* @param res* @date:2016年8月25日*/@RequestMapping(value="callback")@ResponseBodypublic void callback(HttpServletRequest req, ServletResponse res){/** url中$CORPID$模板替换后的corpid **/String corpid = req.getParameter("corpid");/** url中的签名 **/String msgSignature = req.getParameter("msg_signature");/** url中的时间戳 **/String timestamp = req.getParameter("timestamp");/** url中的随机字符串 **/String nonce = req.getParameter("nonce");/** 创建套件时验证回调url有效性时传入**/String echostr = req.getParameter("echostr");WxAuthorizeLogic wxAuthorizeLogic = new WxAuthorizeLogic();String result = "";try {if(!Utils.isBlank(echostr)){    /** 验证回调url有效性* 响应需对echostr参数解密并原样返回echostr明文(不能加引号,不能带bom头,不能带换行符)*/String verifyURLResult = wxAuthorizeLogic.verifyURL(msgSignature, timestamp, nonce, echostr, corpid);res.getWriter().write(verifyURLResult);    }else {//其他操作
            }} catch (Exception e) {e.printStackTrace();}}

/*** 微信授权逻辑* @author:leap* @Description: * @date:2016年8月30日*/
public class WxAuthorizeLogic {
/*** 验证回调URL有效性* @author:leap* @MethodName: verifyURL * @Description: * @param msgSignature url中的签名* @param timestamp url中的时间戳* @param nonce url中的随机字符串* @param echostr 回显字符串* @param corpid 用于创建解密类* @return 返回解密后的明文字符串* @throws AesException* @date:2016年8月30日*/public String verifyURL(String msgSignature, String timestamp, String nonce, String echostr, String corpid) throws AesException{//注意创建解密对象时使用的是CORP_ID而不是SUITE_IDWXBizMsgCrypt wxBizMsgCrypt = new WXBizMsgCrypt(WXBase.SUITE_TOKEN, WXBase.SUITE_ENCODING_AES_KEY, corpid);String result = wxBizMsgCrypt.VerifyURL(msgSignature, timestamp, nonce, echostr);logger.info("VerifyURLResult=" + result);return result;}}

 其中类WXBizMsgCrypt由官方提供

java库(2014年9月24日更新,点击下载)

注意事项:

1.com\qq\weixin\mp\aes目录下是用户需要用到的接入企业微信的接口,其中WXBizMsgCrypt.java文件提供的WXBizMsgCrypt类封装了用户接入企业微信的三个接口,其它的类文件用户用于实现加解密,用户无须关心。sample.java文件提供了接口的使用示例。

2.WXBizMsgCrypt封装了VerifyURL, DecryptMsg, EncryptMsg三个接口,分别用于开发者验证回调url、接收消息的解密以及开发者回复消息的加密过程。使用方法可以参考Sample.java文件。

3.请开发者使用jdk1.6或以上的版本。针对org.apache.commons.codec.binary.Base64,需要导入jar包commons-codec-1.9(或commons-codec-1.8等其他版本),我们有提供,官方下载地址:

http://commons.apache.org/proper/commons-codec/download_codec.cgi

4.异常java.security.InvalidKeyException:illegal Key Size的解决方案:

在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ):

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

摘自http://qydev.weixin.qq.com/wiki/index.php?title=%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

***红字部分是必要操作,不可忽略***


[目录]

[上一篇] 微信企业号第三方应用开发[前言]

[下一篇]微信企业号第三方应用开发[二]——创建应用


消息:新博客地址 blog.leapmie.com,以后的更新都会在新博客首发,感谢支持~(园子视情况更新)


转载于:https://www.cnblogs.com/leap/p/5748950.html

微信企业号第三方应用开发[一]——创建套件相关推荐

  1. 微信企业号第三方应用开发[二]——创建应用

    在应用套件里添加应用 当你创建完应用套件后,需要在套件配置应用,应用的信息填写如下. 基本信息: 信息项 要求及说明 应用Logo 应用的Logo,小于2M,640*640,在授权页会被用于展示. 应 ...

  2. 微信小程序云开发使用创建

    官网 云开发 小程序云开发是微信团队联合腾讯云推出的专业的小程序开发服务 开发者跨域使用云开发快速开发小程序,小游戏,公众号网页等,并且原生打通微信开发能力 开发者无需搭建服务器,可免鉴权直接使用平台 ...

  3. 前端企业微信服务商第三方应用开发详情流程2021-4-9

    1.首先要申请2个企业账号,一个账号是服务商也就是你即将开发第三应用的企业. 另一个就是安装你这个应用的企业,也就是测试用户. 2.申请通过备案的开发环境,测试环境,正式环境的各种域名.在应用的可信域 ...

  4. 微信公众号支付开发全过程(java版)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 一.微信官方文档微信支付开发流程(公众号支付) 首先我们到微信支付的官方文档的开发步骤部分查 ...

  5. 微信企业号突飞猛进,移步到微为何坐稳移动审批头把交椅

    微信企业号于2014年9月18日正式上线,第一版本的微信企业号也正是面向企业.事业单位.政府机关以及社会化组织开放使用,企业号的定位是作为一个互联网的连接器,实现员工与员工.企业与上游供应商.企业与下 ...

  6. 微信小程序-云开发 起步

    文章目录 前言 一.快速开始 二.云开发实战 1.开通云开发 2.配置当前云开发环境 3.了解目录结构 4.云函数操作流程 5.上传云函数到云服务 6.基本操作(增.删.改.查) 总结 前言 微信小程 ...

  7. 微信企业号接入JDK6和JDK7及JDK8加解密失败处理(Java)

    微信企业号接入JDK6和JDK7及JDK8加解密失败处理(Java) 使用文章 http://blog.csdn.net/omsvip/article/details/39926493 提供的接入代码 ...

  8. JEEWX微信企业号管家,开源免费,1.0版本发布

    JEEWX微信企业号管家(开源|免费),是一款针对微信企业号的Java开发平台. 一.简介    JEEWX微信企业号平台,基于jeecg3.6.3快速开发平台实现的. jeewx的目的是最大化的简化 ...

  9. 公众号支付demo java_微信公众号支付开发全过程(java版)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 一.微信官方文档微信支付开发流程(公众号支付) 首先我们到微信支付的官方文档的开发步骤部分查 ...

最新文章

  1. 【神经网络】(6) 卷积神经网络(VGG16),案例:鸟类图片4分类
  2. 16个让你烧脑让你晕的悖论
  3. 2018.9.15,Arduino—流水灯实验报告
  4. TCP传输连接建立与释放详解
  5. 树的重心 背诵用模板
  6. lamp mysql安全_LAMP第三部分php,mysql配置
  7. Linux基础之bash shell介绍及基本特性
  8. 数据库与表的操作之创建、修改和删除数据
  9. 一些 NSArray 的基本操作代码例子
  10. PAIP.img ROM文件提取APK
  11. android下拉菜单刷新,Android开发之头部悬浮的上拉加载,下拉刷新的列表
  12. excel当前时间增加几天或者几小时
  13. java后台模板_Java服务端后台常用模板
  14. 吴恩达新课快来了!万字博客回顾机器学习算法起源
  15. pandas画双柱形图
  16. 苹果收购公司,为什么总是低调而高效---转自百度新闻|DTCHAT
  17. 玉田新世纪计算机学校,玉田新世纪中等专业学校2021年招生简章
  18. SpringCloud入门 —— SSO 单点登录
  19. 【圣诞来了】3分钟教你用java画一颗彩色圣诞树,送给别人作为圣诞礼物吧
  20. 华为电脑分类四个系列_华为笔记本系列推荐榜单

热门文章

  1. mysql建表的规则_MYSQL建表规则 - Love彼岸花开的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 已阻止应用程序访问图形硬件_玩转智能硬件之Jetson Nano(三)深度学习环境搭建...
  3. ansys matlab 调用,matlab 调用ansys (转载)
  4. c语言编码风格,讲嵌入式C语言编码风格.ppt
  5. python实现胶囊网络_胶囊网络 -- Capsule Networks
  6. Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法
  7. krsort_PHP krsort()函数与示例
  8. kotlin 覆盖属性_Kotlin程序| 方法覆盖的示例
  9. Python | 使用matplotlib.pyplot创建条形图
  10. jsonp react 获取返回值_必须要会的 50 个React 面试题(下)