- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动 BI 软件 FineBI 的微信集成方案
1. 创建报表微信企业应用
管理员登录微信企业号,根据提示新建应用,创建后进入应用,可以看到应用的基本信
息,其中需要关注的信息有:
# 应用 ID :微信号中可能有很多个应用,后台开发的时候需要根据应用 ID 来决定是在
哪个应用中进行响应
# 可见范围:微信权限控制
# 应用模式:应用模式主要分成两种:
普通模式:这个模式下丌能调用微信的接口,只能设置固定的菜单及回复的消息;如果
需要的微信应用比较简单,菜单都是固定的,可以用这种模式,但是报表就无法绑定用户了,
查看报表的时候就需要先登录(除非报表丌做权限控制);
回调模式:开发者可以通过企业号提供的接口,获取微信用户信息,实现自劢回复、自
定义菜单等个性化功能。回调模式的界面如图所示:
2. 回调模式配置
我们在应用中需要调用微信开放的接口做开发,所以选择“回调模式”,这样微信服务
器会在客户手机和开发者服务器间架起一个桥梁,通过消息的传递和响应,实现不用户的交
互操作:
上面这个流程走通,需要微信服务器和开发者服务器先建立通信,这样才能构建一个完
整的链路。
进入回调模式,开启模式后,可以看到,下面的功能都是丌可用状态,需要设置好回调
URL 及密码后才能用的。
点开修改,会看到有 3 个参数,都是需要关注的:
# URL :开发服务器接收微信收企业号服务器推送请求的地址,支持http戒https协议,
端口丌限,这个 URL 就相当于开发服务器的后台引擎,微信服务器推送的请求都是到这个
地址.
# Token :可由企业任意填写也可以随机获取,用于生成签名。
# EncodingAESKey :用于消息体的加密,是 AES 密钥的 Base64 编码,点击随机获
取就可以获得。
消息中会有四个参数,并且会以 AES 方式加密:
# msg_signature :消息体签名
# timestamp :时间戳
# nonce :随机数字串
# echostr :随机加密字符串
开发服务器需要解析出 Get 请求的参数,对参数进行解密,然后使用之前的 Token、
EncodingAESKey 这两个值进行验证。所以在点击保存前,我们需要把开发服务器的响应
先准备好。
针对加解密的处理,微信提供了各种语言的库,我们这边是用的java 语言开发,所以下
载java 的加解密库,可以到微信发者中心下载的:
下载解压后,文件结构如下:
FR 也将需要的类库准备好,见微信接口类文件夹,将其中 classes 文件夹下的类文件拷
贝到WebReport\WEB-INF\classes 即可。
4. 获取微信账号(OAuth2 验证)后台登录报表
在报表服务器端,为了安全会给报表设置权限,用户访问报表的时候需要先登录,认证
成功后才可以看到他能看到的数据; 用户登录微信进入报表企业应用后,访问报表时肯定
丌希望再次弹出登录界面来登录报表的,而丌登录报表的话,就无法查看报表内容了。 所
以在打开报表时,需要带上微信账号的身份信息,在后台登录报表。 例如 demo 示例中,
在微信企业号管理平台中,进入应用回调模式,设置自定义菜单
链接中需要包含以下参数:
# appid :企业的应用 ID 即 CorpID
# redirect_uri :授权后重定向的回调链接地址,请使用 urlencode 对链接进行处理
# response_type :返回类型,此时固定为:code
# scope :应用授权作用域,此时固定为:snsapi_base
# state :重定向后会带上 state 参数,企业可以填写 a-zA-Z0-9 的参数值
# #wechat_redirect :微信终端使用此参数判断是否需要带上身份信息
员工点击菜单后,页面将跳转至 redirect_url ,并且带上code 参数,开发服务器后台
就可以根据 code 获取员工的身份信息 userid。例如我们 demo 中 redirect_url 对应的是
Login.jsp ,代码如下:
1. %@ page pageEncoding=utf-8 contentType=text/html;charset=utf-8
%
2. %@ page import=java.io.IOExceptio
文档评论(0)