开发者社区> 问答> 正文

调用钉钉的api出现ERROR 4040: Do not support the current e

使用钉钉模拟器打开钉钉微应用,初次调用dd.runtime.permission.requestAuthCode能成功调取并有回调,第二次再调用这个api是报ERROR 4040: Do not support the current e,请问这是什么情况呢

展开
收起
游客66tyupsdly6yo 2023-09-27 15:26:00 573 0
1 条回答
写回答
取消 提交回答
  • 这是由于钉钉沙箱环境(即钉钉微应用)的权限机制导致的。

    在钉钉沙箱环境中,每个微应用的生命周期被限制在一个会话内。这意味着当一个微应用被打开时,它将获得一个临时的唯一标识符(通过 dd.runtime.getAppKey() 获取)和一个会话标识符(通过 dd.runtime.getSessionKey() 获取)。这些标识符在微应用的整个生命周期内保持不变。

    然而,当用户关闭并重新打开同一个微应用时,新的会话将被创建,并且旧的会话将不再可用。这意味着你不能再访问旧的会话中的数据或调用其权限接口。这就是为什么你在第二次调用时收到错误消息 "ERROR 4040: Do not support the current e"。

    为了解决这个问题,你需要确保你的微应用在处理关闭和重新打开的情况。这可能包括保存关键数据到本地存储,并在重新打开时从那里恢复数据,或者实现一种机制来处理旧会话的结束和新会话的开始。

    2023-09-27 15:36:31
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载