这是钉钉开放平台的官方文档https://ding-doc.dingtalk.com/doc#/dev/uwa7vs
但是步骤不是很详细,有些东西也找不到是哪里来的。撞南墙撞了好久终于撞出来了
最重要的就是获取到代表用户身份的code,虽然上面明确写着获取微应用免登授权码不需要鉴权,即dd.config,但是试了很久结果还是要鉴权。以下为鉴权的代码
abc = () => {
const newThis=this; // onSuccess不是箭 头函数,所以需要转一下this
if (this.state.queryData !==null) { // queryData是后端传过来的,config里面基本都是后端传过来的值
const config = {
agentId:this.state.queryData.agentId,
corpId:this.state.queryData.corpId,
timeStamp:this.state.queryData.timeStamp,
nonceStr:this.state.queryData.nonceStr,
signature:this.state.queryData.signature,
jsApiList: [ // 这个也南了好久, jsApiList: ['runtime.info' ]照抄下来就可以
'runtime.info',
],
};
// 这是鉴权成功后拿到code的代码
dd.runtime.permission.requestAuthCode({
corpId:'*************', // 企业id,固定值,找后端要一下
onSuccess(result) { // onSuccess里面拿到code,需要存一下在另一个函数用
const ddCode = result.code; // result是一个对象 {code : ' ********* ' }
newThis.setState({ // 存一下
ddCode: result.code,
});
return ddCode;
},
onFail(err) {
alert(`dd.config鉴权失败${JSON.stringify(err)}`);
},
});
}else{
alert('提示信息')
}
};