年底在做钉钉和公司的知识库产品的对接,怎么使用钉钉api的如下:
第一步:
登录:https://oa.dingtalk.com/#/welcome
这点可以自己建立一个企业账号进行测试
点击工作台建立应用
设置
参数说明:
1.应用logo:....
2.应用名称:必填
3.AgentID:自动生成,手机app自动登录需要使用
4.功能介绍:....
5.后端地址:访问api的接口地址
6.首页地址:改应用首页地址
7.pc版首页地址:登录页面地址
第二步
扫码登录的js引入和api调用
钉钉官网api地址:https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.Dc2Nel&treeId=385&articleId=104882&docType=1
使用
1.引入<script src="//g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
//声明钉钉二维码参数包括【扫描授权id、企业id】
var ding={"appid":"","agentid":"","corpid":"","uri":"","redirect_uri":"","code":"","accesstoken":""};
//1.5.1.设置扫描授权id
ding.appid="";
//1.5.2.设置重定向地址
ding.redirect_uri="";
//1.5.3.扫码触发跳转钉钉接口地址
ding.uri = "https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid="+ding.appid+"&response_type=code&scope=snsapi_login&state=STATE&redirect_uri="+ ding.redirect_uri;
//2.2.扫码触发事件
var obj = DDLogin({
id:"login_container",
goto: encodeURIComponent(ding.uri),
style: "border:none;background-color:#FFFFFF;",
width : "240",
height: "300",
});
//2.3.获取code
var getcode = function (event) {
var origin = event.origin;
console.log("origin", event.origin);
if( origin == "https://login.dingtalk.com" ) { //判断是否来自ddLogin扫码事件。
var loginTmpCode = event.data; //拿到loginTmpCode后就可以在这里构造跳转链接进行跳转了
ding.code=loginTmpCode;
console.log("获取到code", loginTmpCode);
window.parent.postMessage(loginTmpCode,'*');
//1.跳转到主页面,微应用自身截取code比对用户信息
var redirect_uri_check = "https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=dingoazjmclpvolnxq3wba&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=http://&loginTmpCode=";
window.location.href=redirect_uri_check+loginTmpCode;
};
};
//2.4.钉钉扫码监听
if (typeof window.addEventListener != 'undefined') {
window.addEventListener('message', getcode, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onmessage', getcode);
};
//2.5.这儿主要是获取code,返回钉钉id,进行后端的钉钉id比对,api接口见下
var url = window.location.search.split("&");
var code=url[0].substring(url[0].lastIndexOf("=")+1);
console.log(code);
if(code!=""){
var uri="/"
$http({
url:uri,
method:"GET",
headers : {'Content-Type' : 'application/x-www-form-urlencoded'}
}).success(function(data){
console.log(data)
if(data!=""){
$window.localStorage["user"] = angular.toJson(data[0]);
window.location.href="/";
}else{
alert(data[0].msg);
$scope.user.info="";
window.location.href="/";
}
});
};
调用api在附件中
- 大小: 146.5 KB
- 大小: 71.7 KB
- 大小: 97.2 KB
分享到:
相关推荐
本项目是基于C# WinForm设计的一个客户端应用程序,实现了钉钉和微信的二维码扫码登录功能。下面将详细阐述相关知识点。 1. **C#语言**:C#是由微软开发的一种面向对象的编程语言,它以其简洁、类型安全和性能强大...
通过OAuth 2.0,应用可以获取用户的授权,但不需要获取用户的密码,从而实现安全的第三方登录。 3. **PHP编程**:PHP是一种广泛应用于Web开发的服务器端脚本语言,它允许开发者处理HTTP请求,生成动态网页内容,...
**第三方Web网站扫码登录**: 1. 用户访问你的Web应用,应用会生成一个钉钉授权链接。 2. 用户使用钉钉App扫描显示的二维码,钉钉会验证用户身份并返回一个临时登录码(loginTmpCode)。 3. Web应用通过监听`message...
第三方授权登录:支持用户通过第三方平台(支付宝、钉钉、gitee)进行授权登录,提供多种登录方式和便捷性。 国际化支持:系统实现了请求响应消息的国际化,支持中文和英文两种语言的切换和显示。 管理员具有额外的...