- 一、免登问题
- 二、JSAPI问题
- 1.jsapi权限校验失败,错误码080003是什么原因
- 2.jsapi权限校验时返回{message:”权限校验失败”,errorcode:3}
- 3.使用JSAPI返回签名或者Ticket获取失败 JSAPI返回失败主要有两种错误
- 4.ios 单页面应用更改url#后面的参数(如:localhost:8100/#/test1 变成 localhost:8100/#/test2),调用jsapi无效
- 5.jspai 调用返回errCode7 错误原因
- 6.如何获取JSAPI权限
- 7.工具栏颜色如何设置
- 8.device.geolocation.get 提示unauthorized errcode 4
- 9.钉钉发送会话消息,cid如何获取
- 10.errorMessage:”err msg redirect_uri domain is not secure domain”,”errorCode”:”3”
- 11.读取nfc芯片接口无法使用 [font=微软雅黑, ‘Microsoft Yahei’, ‘Hiragino Sans GB’, tahoma, arial, 宋体]
一、免登问题
1.如何在App及后台获取企业及用户相关信息
- 微应用主页支持使用$CORPID$模板参数表示corpid,用户访问微应用的时候钉钉将把$CORPID$替换成用户所属企业的corpid,例如http://www.dingtalk.com/index?corpid=$CORPID$
获取用户信息需要通过免登服务,详情http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.Bz74m4#免登服务
2.钉钉微应用OAuth2授权打开一个应用时提示对不起您无权限查看该页面
可能的原因:
如果其他应用正常,或者企业其他人打开应用没问题,可能是缓存问题引起,请清除下缓存
- 参数redirect_uri的值没有做url编码
- redirect_uri的域名和微应用的域名不一致
3.免登Code的时效性
免登授权码是一次性的,团队(未认证的企业)失效时间五分钟
二、JSAPI问题
1.jsapi权限校验失败,错误码080003是什么原因
请先按照文档,先检查参数agentid传值是否正确,agentId查看方式:
- 如果是isv应用,需要通过http://open.dingtalk.com/doc/#10-获取企业的应用信息
企业自建应用,通过oa后台查看http://open.dingtalk.com/doc/#开发环境准备
2.jsapi权限校验时返回{message:”权限校验失败”,errorcode:3}
首先检查用来生成签名(signature)的jsapi_ticket是否过期(jsapi_ticket有效期为7200秒,而且当你请求了新的ticket之后,旧的ticket就失效了)
- 其次检查生成签名的Url参数,与调用dd.config 所在的url是否一致 生成签名用的url需要去除hash部分,e.g. 如果当前页面url是http://abc.def/ghi/jkl?m=123&n=456#opq,则用于生成签名的url是http://abc.def/ghi/jkl?m=123&n=456,可以使用调试工具来生成jsapi_ticket和signature,并和你实际使用的进行对比
提示权限校验失败,errorcode:3,错误码52019,请检查corpid是否正确
3.使用JSAPI返回签名或者Ticket获取失败 JSAPI返回失败主要有两种错误
[错误码:52011] [jsapi ticket 读取失败]
- 确认agentId参数正确传入
- 确认以传入agentId对应的企业身份获取过jsapi_ticket,也就是调用过get_jsapi_ticket方法
- 确认agentId对应的企业身份获取的jsapi_ticket没有过期.即在两个小时的有效期之内
- [错误码:52013][签名校验失败]
- 确认agentId参数正确传入
- oa后台设置uri和权限校验uri不一致(去掉hash部分)
- 确认获得的jsapi_ticket为最新的,没有其他服务同时调用get_jsapi_ticket方法,导致生成签名的jsapi_ticket过期
- 确认生成jsapi签名正确,可以使用debug工具进行调试https://debug.dingtalk.com/
4.ios 单页面应用更改url#后面的参数(如:localhost:8100/#/test1 变成 localhost:8100/#/test2),调用jsapi无效
ios单页面应用更改url参数,导致调用jsapi无效问题,将在2.7版本随新版本发布; 若是老版本(2.7以前版本),需要打开页面时重新授权,调用jspai即可正常
5.jspai 调用返回errCode7 错误原因
- 请查看在dd.config的jsApiList中,是否已配置要使用的jsapi,未配置的话会报错
- ios 单页面应用提示 errCode7 Jsapi Should NOT CallselectorString 同问题5,单页面应用更改url参数,导致调用jsapi无效,老版本(2.7以前版本)需要重新授权,调用jsapi正常
- requestJsApis() not invoked,errorCode:7 dd.ready一定要在dd.config之后执行
6.如何获取JSAPI权限
可以参照http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.XpRuM1#客户端开发文档,要使用的jsapi必须进行权限验证配置,在dd.config中进行配置,可参照http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.XpRuM1#权限验证配置-beta
7.工具栏颜色如何设置
在页面需要引入js文件的前提下,通过url参数设置导航栏颜色,参数名为dd_nav_bgcolor 比如微应用当前页面链接为:https://abc.xyz/,要设置的颜色为FF112233(前两位默认FF,后面6位112233是对应的色值),可设置页面url为:https://abc.xyz/?dd_nav_bgcolor=FF112233
8.device.geolocation.get 提示unauthorized errcode 4
9.钉钉发送会话消息,cid如何获取
使用场景示例:用户在微应用中拉起本地聊天窗口列表(通过调用jsapi-获取会话信息),选择某一个聊天窗口,微应用将收到钉钉返回的cid,通过这个cid会送会话消息。 a.前提条件:jsapi可使用,即已经配置到dd.config,且通过jsapi的权限校验 b.通过jsapi获取会话cid,详见http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.FDtb0f#获取会话信息
10.errorMessage:”err msg redirect_uri domain is not secure domain”,”errorCode”:”3”
在oa后台设置微应用首页地址(域名设置为可信域名,即可安全访问授权)
11.读取nfc芯片接口无法使用 [font=微软雅黑, ‘Microsoft Yahei’, ‘Hiragino Sans GB’, tahoma, arial, 宋体]
目前nfc芯片接口只支持android(文档中已注明,请查看文档)