1.申请微信企业号测试账号,参考http://www.cnblogs.com/comsokey/p/enterprise.html。
2.熟悉微信企业号后台功能,参考http://www.cnblogs.com/comsokey/p/enterprise.html。
着重练习下通讯录管理,可以先看本文的最后部分。
3.获取AccessToken,参考http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8
(1)系统管理员可通过管理端的权限管理功能创建管理组,分配管理组对应用、通讯录的访问权限。完成后,管理组即可获得唯一的secret。
(2)系统管理员可通过权限管理查看所有管理组的secret,其他管理员可通过设置中的开发者凭据查看。
(3)当企业应用调用企业号接口时,企业号后台为根据此次访问的AccessToken,校验访问的合法性以及所对应的管理组的管理权限以返回相应的结果。
AccessToken需要用CorpID和Secret来换取,不同的Secret会返回不同的AccessToken。正常情况下AccessToken有效期为7200秒,有效期内重复获取返回相同结果;有效期内有接口交互(包括获取AccessToken的接口),会自动续期。
点击[创建并管理所有分级管理员账号]
以下界面会看到CorpID及Secret,
4.企业获取code(参考http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3)
这里的获取code以及上面第三点中获取的AccessToken,都是为了下一步获取userid做准备,这里先讨论如何获取code。
企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:(注意必须在微信中发起,做法可以是新建一个菜单,然后将下面链接绑定到菜单项)
举个例子(appid是上节得到的CorpID)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4396b735dd7d0519&redirect_uri=http://www.douyh.com&response_type=code&scope=snsapi_base&state=111&connect_redirect=1#wechat_redirect
接下来说一下如何将链接绑定到菜单项。还是在自己的微信企业号后台:
应用中心,如下图:
新建一个应用:
比如考勤,建好后,点击考勤,进到以下界面:
点击模式选择下的普通模式,进入到以下界面:
点击启用
点右上角加号:
点击跳转到网页按钮,将上面 的链接添加到里面,如下图所示:
不要忘记保存和发布。
需要注意的是:此URL的域名,必须完全匹配企业应用设置项中的‘可信域名‘(如果你的redirect_uri有端口号,那‘可信域名‘也必须加上端口号),否则跳转时会提示redirect_uri参数错误。
设置可信域名的地方在下面这里:
点击菜单,会访问以下链接:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4396b735dd7d0519&redirect_uri=http://www.douyh.com&response_type=code&scope=snsapi_base&state=111&connect_redirect=1#wechat_redirect
会新跳转到一个新链接,在微信里点击复制链接:
页面将跳转至 redirect_uri/?code=CODE&state=STATE
在程序里,我们可以通过request["code"]拿到CODE
这个CODE参数加上上节的AccessToken有助于我们拿到登录者的userid,而通过这个userid(按一定规则定义),我们可以识别登录者身份。
5.根据code及AccessToken获取成员信息
(参考http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3)
- 请求说明
Https请求方式:GET
https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
- 返回结果
a)企业成员授权时返回示例如下:
{ "UserId":"USERID", "DeviceId":"DEVICEID" }
通过这个userid,我们可以得到登录者信息,比如userid当时在后台定义成回汇雅_财务_张三],我们可以通过userid解析出登录者的工厂和角色,从而决定出其能够使用系统功能范围。
userid是第一部分中,申请到测试企业号后,自己在用户管理界面中添加的。注意,要先在后台添加好用户(用户的微信号,电话,邮箱),然后相应用户扫描微信号才可以关注成功。
这篇文章的例子不错,可以参考一下:
http://blog.****.net/angle_greensky110/article/details/32936289