原创文章转自:https://www.ympfb.com/show-29-30-1.html
大家在使用tp5 开发的时候,大部分都需要用到第三方SDK ,那么如何引入呢?
今天站长为大家分享一下
我们公司需要用到钉钉的接口,然后我就研究了 好几天,今天给大家分享出来,
我们公司是需要调用企业员工,名单,然后根据员工是否在职,给予相应的权限,
大家需要登陆 企业钉钉 的开放平台 ,下载相对应的 sdk 我这里是php 的 ,
然后把下载的东西放到 extend 里 然后引入
引入之前 必须use
use think\Loader; 这个相信用过tp5 的人都知道
如果不use的话,在接下来import 的时候 会报错 方法不存在
接下来就是这个
在控制器里必须同时引入 这个两个文件
import(‘TopSdk’, EXTEND_PATH);
import(‘dingtalk’, EXTEND_PATH);
接下来 就可以正式调用钉钉接口,获取数据了,
钉钉开发文档里有说,他是这么说的:
钉钉 目前暂不支持一次性获取企业下所有员工userid值 ,
意思是:即使通过接口API也不能一次性把所有的企业员工全部获取出来,他给了两个步骤
1,调用“获取部门列表”接口,参数id值传1,可以获取该企业下所有部门id,
2,调用此接口“获取部门用户userid列表”,分别获取每个部门下的员工userid,
意思是:先获取部门列表,通过部门列表ID获取所有部门用户userid,然后通过userid获取所有员工,个人感觉还是挺麻烦的,但是也安全,对于开发者来讲,算是有点点难度。
下面我直接告诉大家如何使用,大家看见上图,有一个在线调试
大家点击在线调试,会出来一个界面话的API工具,这个就很方便了,需要什么直接点击,然后复制相对应的代码到项目里,就直接可以使用了。
在获取数据前需要这个,access_token,这个很重要,如何用呢,
大家用API工具
大家把相应的AppKey,AppSecret,输入进去后点击相应的语言,我这里是php,然后把代码复制到项目里,然后打印看看是不是,
这样就会得到access_token 我的办法是把他存到数据库了,用的时候直接调取,大家注意,这个token有7200秒的缓存,过7200秒就会换,所以,我的办法是用的时候直接获取最新的,然后更新数据库这个字段,这样就保证了每次你用token的时候都是最新的。
接下来获取tokenh后,下一步是调取部门列表,再接下来是通过部门列表ID获取部门用户userid…
方法也简单,大家看上图,有个智能人事,
大家点击智能人事,旁边有你想要获取的所有的东西,按照我上面的方法,全部能获取到,然后存入数据库就可以了,还是可以的,就是有点麻烦,相对应的逻辑需要自己写,用API工具,代码直接复制到项目里,就能用。
截至到目前,我上面提到的需求就完成了 ,大家有别的需求也是按照我的方法,相信也是没问题的,有什么问题欢迎大家评论。