最近有个项目用到了专有钉钉,这里记录下使用专有钉钉获取用户信息流程

一:流程

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'];//用户信息
}

具体获取到的信息如下
image.png


huaweichenai
679 声望114 粉丝