开发者社区> 问答> 正文

关于dd.runtime.permission.requestAuthCode不执行问题

if (dd.env.platform !== 'notInDingTalk') { console.log(dd.env.platform) dd.ready(() => { console.log('dd_ready') dd.runtime.permission.requestAuthCode({ corpId: '企业应用的corpId', onSuccess: function (res) { // 调用成功时回调 console.log(res) }, onFail: function (err) { // 调用失败时回调 console.log(err) } }) }) } } 在电脑端钉钉没问题 但是在钉钉模拟器或者手机钉钉中dd.runtime.permission.requestAuthCode不执行

展开
收起
游客rvtimsctknmmm 2023-05-09 10:53:56 232 0
1 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    在钉钉模拟器或手机钉钉中,dd.runtime.permission.requestAuthCode 不执行可能是因为此时没有授权。需要在调用 dd.ready() 函数之前先调用 dd.error() 函数来监听错误,并返回错误提示,以便查找问题所在。

    同时,需要注意的是,dd.runtime.permission.requestAuthCode 是需要在企业内部应用环境中才能正常工作的。如果您是在第三方网站或应用中使用钉钉 SDK,需要使用 dd.getAuthCode() 方法进行授权,而不是 dd.runtime.permission.requestAuthCode。

    下面是一个可能的修改方案:

    if (dd.env.platform !== 'notInDingTalk') {

    console.log(dd.env.platform)

    dd.error(function(err) { // 监听错误

    console.log(err)
    

    })

    dd.ready(() => {

    console.log('dd_ready')
    
    dd.runtime.permission.requestAuthCode({
    
      corpId: '企业应用的corpId',
      
      onSuccess: function (res) { // 调用成功时回调
      
        console.log(res)
        
      },
      
      onFail: function (err) { // 调用失败时回调
      
        console.log(err)
        
      }
      
    })
    

    })

    }

    如果以上修改仍无法解决问题,建议检查一下钉钉模拟器或手机钉钉的版本是否支持 dd.runtime.permission.requestAuthCode 方法。

    2023-05-10 17:31:44
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载