在钉钉中创建的微应用,在PC端界面调用 runtime.permission.requestOperateAuthCode 时发生了错误,错误信息如下:
错误码:7
错误信息:API not authed
返回错误对象如下:
Object:{
errorCode: "7",
errorMessage: "API not authed"
}
具体的操作步骤是:
1.从钉钉PC端工作台进入微应用,先打开其它界面进行页面操作,再切换到当前调用runtime.permission.requestOperateAuthCode 的页面,执行导入文件时,报上述错误信息;
2.如果进入工作台之后直接点击进入调用runtime.permission.requestOperateAuthCode 的页面执行导入文件,则能正常取到AuthCode,功能可正常运行。
已做过调试,在会报错的情况下ddConfig.corpId, ddConfig.agentId取值均能正常取到,请各位大神帮忙看看具体问题会出现在哪?谢谢~
代码如下:
public static getDDAuthCodeForMessageAsync() {
return new Promise((f, r) => {
if (!this.isJSAPIAvailable()) {
f(null);
} // 如果客户端钉钉对象不可用(可能是浏览器),则直接返回成功
else {
const ddConfig = userInfo.getDDConfig();
this.getTempAuthCodeAsync(ddConfig.corpId, ddConfig.agentId)
.then(authCode => {
f(authCode);
})
.catch(err => {
r(err);
});
}
});
}
// 通过corpId和agentId从DingTalkPC.runtime中拿到临时授权码,用于发送消息
public static getTempAuthCodeAsync(corpId, agentId) {
return new Promise((f, r) => {
DingTalkPC.runtime.permission.requestOperateAuthCode({
corpId,
agentId,
onSuccess: result => {
f(result.code);
},
onFail: err => {
r(err);
}
});
});
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。