开发者社区> 问答> 正文

关于钉钉中jsapi 分享的接口的问题

代码如下:

dd.config({
            agentId: dd_agentId, // 必填,微应用ID
            corpId: dd_appId,//必填,企业ID
            timeStamp: dd_Ts, // 必填,生成签名的时间戳
            nonceStr: dd_Random, // 必填,生成签名的随机串
            signature: dd_signature, // 必填,签名
            jsApiList: ['biz.util.share'] // 必填,需要使用的jsapi列表
        });


        dd.ready(function () {
            dd.biz.navigation.setRight({
                show: true,//控制按钮显示, true 显示, false 隐藏, 默认true
                control: true,//是否控制点击事件,true 控制,false 不控制, 默认false
                showIcon: true,//是否显示icon,true 显示, false 不显示,默认true; 注:具体UI以客户端为准
                text: '分享',//控制显示文本,空字符串表示显示默认文本
                onSuccess: function (result) {
                    /* {} */
                    //如果control为true,则onSuccess将在发生按钮点击事件被回调
                    dd.biz.util.share({
                        type: 0,//分享类型,0:全部组件 默认; 1:只能分享到钉钉;2:不能分享,只有刷新按钮
                        url: linkUrl,
                        title: '标题',
                        content: '内容!',
                        image: coverUrl,
                        onSuccess: function () {
                            //onSuccess将在分享完成之后回调
                            /**/
                        },
                        onFail: function (err) {
                            alert(JSON.stringify(err));
                        }
                    });
                },
                onFail: function (err) {
                }
            });
        });


弹出的错误信息如下:
Android下报的错


IOS下报的错为:




我用另一个页面也按照这个顺序做的就可以分享,没有问题,不知道这个页面就报错了,大神们求助啊。

展开
收起
caok168 2016-07-07 17:39:56 7774 0
3 条回答
写回答
取消 提交回答
  • 回 1楼竹梅的帖子
    签名校验是没有错误的,dd.ready 也没有打印错误,权限校验是指什么啊,服务端还需要校验别的吗?报的这个错是在点击setRight的分享按钮的时候报的错误;jsApiList: ['biz.util.share' , 'biz.navigation.setRight']  jsAPIList中加上 biz.navigation.setRight 也还是不行。
    2016-07-08 09:08:31
    赞同 展开评论 打赏
  • Re关于钉钉中jsapi 分享的接口的问题
    你这个问题是由于申请要调用的apilist里面没有包含你调用的AIP,
    jsApiList: ['biz.util.share']   改为 jsApiList: ['biz.util.share' , 'biz.navigation.setRight']
    记住,要调用的特定权限的API之前确保Config里面已经包含该API

    -------------------------

    回 1楼竹梅的帖子
    权限校验可否在浏览器端执行?由浏览器JS生成签名,容器校验
    2016-07-07 23:35:33
    赞同 展开评论 打赏
  • 把  dd.ready(function () {是否正确执行的,onFail: function (err) { }的错误信息打印出来;
    这个可能是由于权限校验未通过导致的,看下服务端的权限校验是否有错误,如果有错误,将错误信息提供下

    -------------------------

    钉钉JS API安全验证,只有经过安全验证的微应用才能调用安全级别较高的API。
    dingtalk.js使用的哪个版本,更新成最新版本试下http://g.alicdn.com/ilw/ding/0.9.9/scripts/dingtalk.jshttps://g.alicdn.com/ilw/ding/0.9.9/scripts/dingtalk.js

    2016-07-07 22:51:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载