最近有个项目用到了专有钉钉,这里记录下使用专有钉钉获取用户信息流程
一:流程
1:获取用户的免登授权码
2:根据免登授权码获取用户信息
二:获取用户信息
1:获取用户免登录授权码
使用js获取用户的免登录授权码
<script src="https://g.alicdn.com/gdt/jsapi/1.3.2/index.js"></script>
<script>
dd.ready(function () {
dd.getAuthCode({}).then((result) =>{
if (result) {
var code = result.code;//获取授权登录码
}
}).catch(err => {
alert(err);
})
})
</script>
如上就可以获取到用户的免登录授权码,下面我们就可以使用用户的免登录授权码来获取用户的基本信息
2:根据免登录授权码获取用户信息
(1):获取access_token,具体参考:https://blog.csdn.net/huaweic...
(2):获取用户基本信息
try {
$executableClient = new ExecutableClient();
//Saas环境域名为:https://openplatform.dg-work.cn,浙政钉环境域名为:https://openplatform-pro.ding.zj.gov.cn
$executableClient->setDomain('域名');
$executableClient->setAccessKey('应用App Key');
$executableClient->setSecretKey('应用App Secret');
$executableClient->setApiName('/rpc/oauth2/dingtalk_app_user.json');
//print("Get方式执行...\n");
$executableClient->addParameter('access_token', '获取access_token接口获取到的信息');
$executableClient->addParameter('auth_code', '用户的免登录授权码');
//$ret = $executableClient->epaasCurlGet(3);
$ret = $executableClient->epaasCurlGet(3);
} catch (\Exception $e) {
$msg = "getFilterWords|err, code: ". $e->getCode() . "|message: ". $e->getMessage();
Yii::error($msg);
throw new ForbiddenHttpException('获取失败,请联系管理员!');
}
if (isset($ret['success']) && $ret['success'] == true) {
$result = $ret['data'];//用户信息
}
具体获取到的信息如下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。