用python控制钉钉软件_Python—实现钉钉后台开发

时间:2025-03-29 09:09:43

二、实现钉钉免登流程

免登流程分四步:1、前端获取钉钉免登授权码code;2、后端获取access_token;3、使用授权码code和access_token换取用户userid;4、通过access_token和userid换取用户详情userinfo。

前端获取授权码code。

// 获取当前网页的url:/?corpid=ding46a9582af5b7541b35c2f4657eb6378f

var currentUrl = ()

$("#url").append(currentUrl)

// 解析url中包含的corpId

var corpId = currentUrl.split("corp#corpId").append(corpId)

// 钉钉sdk初始化:参数为回调函数,在环境准备就绪时触发,jsapi的调用需要保证在该回调函数触发后调用,否则无效。

(function () {

// 使用SDK 获取免登授权码

({

corpId: 'dingovyrjosjwioznxqn',

onSuccess: function (result) {

alert((result));

var code = ;

//$.get("http://49.232.56.68:8006/get/user",'code='+,function(response){

$.get("http://49.232.56.68:8006/get/user?code=" + code, function (response) {

var response = (response)

// 下面的业务根据自己的需求来写

if () {

for (item in ) {

$("#result").append("

\t[user 属性] " + item + " : " + [item] + "")

}

}

});

},

onFail: function(err) {

alert('fail: ' + (err)); //处理失败的情况

},

});

});

// 如果没有走ready方法的话会走error方法。

// (function(error){

((error) => {

alert('dd error: ' + (error));

alert(`dd error: ${(error)}`);

});

后台获取access_token,然后获取userId,最后换取userInfo。

class AdminUser(BaseHandler):

def get(self):

info = self.request.arguments

code = self.get_argument("code", None)

# 获取access_token

AppKey = "ding4itesoimljq9ksmz"

AppSecret = "BW8XFsbesRJdOjmt_peYOQBTwVWUkQKONxZ2_2_fXhBQjmgq2Q6tRWrq867l84ht"

url = "https://oapi.dingtalk.com/gettoken?appkey={0}&appsecret={1}".format(AppKey, AppSecret)

resp = requests.get(url)

resp = ()

access_token = resp["access_token"]

# 获取userId

url1 = "/user/getuserinfo?access_token={0}&code={1}".format(access_token, code)

resp1 = (url1)

resp1 = ()

# 获取userInfo

url2 = "/user/get?access_token={0}&userid={1}".format(access_token, resp1["userid"])

resp2 = (url2)

resp2 = ()

return (({"status": "success", "userinfo": resp2}))

三、获取钉钉后台人员

四、