开发者社区> 问答> 正文

服务窗JSAPI,关注者免登,提示:权限检验失败,52019,无效的agentid

企业是经过高级认证的,具有服务窗权限


确认corpID,服务窗agentID,服务窗SECRET与后台一致。在配置dd.config的过程中,channelAccessToken获取正常,channelTicket获取正常,将config传递到H5之后,dd.ready不执行,dd.error报上述错误(权限检验失败,52019,无效的agentid)


请高手帮忙分析下原因,谢谢

展开
收起
_迦楠 2016-12-08 01:54:29 12088 0
7 条回答
写回答
取消 提交回答
  • Re服务窗JSAPI,关注者免登,提示:权限检验失败,52019,无效的agentid
    惨痛经历,企业自建服务窗应用,首先获取jsapi_ticket使用的access_token,是根据cropId和cropSecrit来获取的,而不是channelSecrit。获取tick的方式为 "https://oapi.dingtalk.com/get_jsapi_ticket?type=1&access_token=ACCESS_TOKEN.在前端js中,agentId要替换成agentid,不然会报错。PS:当前"http://g.alicdn.com/ilw/ding/0.9.2/scripts/dingtalk.js"
    2017-04-15 09:59:21
    赞同 展开评论 打赏
  • 回 21楼粒尘的帖子
    新手一天只能发10个帖子。。。只好换个用户登录

    agentId获取截图

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

    回 26楼粒尘的帖子
    钉钉客户端为IOS版,3.2.0(1913657)
    客户端引用的JS版本是0.8.9,引用路径  g.alicdn.com/ilw/ding/0.8.9/scripts/dingtalk.js

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

    回 26楼粒尘的帖子
    找到原因了,我把引入JS替换为  官方文档中的 g.alicdn.com/dingding/open-develop/0.8.4/dingtalk.js,已经可以正常获取服务窗授权了!!!


    之前用的JS是在官方下载的PHP版DEMO中的地址,可能是版本太高了吧。。

    非常感谢你,版主!!!!

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

    回 29楼粒尘的帖子
    建议官方把github上开放下载的PHP版Demo里的JS引用路径替换一下吧,可能还有我这样的新手会基于DEMO进行开发。。。

    2016-12-13 19:23:38
    赞同 展开评论 打赏
  • 服务窗应用 和 微应用 是两种不同的应用,你提供的agentId是服务窗应用的吧?确认没问题的话,那么ddconfig的参数type必须传入1,不能传入0,因为0是代表微应用。
    你在设置type=1时,会报什么错误?把错误信息提供下。

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

    回 19楼(_迦楠) 的帖子
    获取微应用的jsapiticket的接口文档在这里
    https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.L5Gk3n&treeId=172&articleId=104966&docType=1#s0

    获取服务窗应用的jsapiticket接口文档在这里
    https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.CvIHxM&treeId=255&articleId=105660&docType=1#s6

    这两个ticket是各自独立存在,相互间没有任何关系的。

    你截一下图,我看下你是如何获取的服务窗应用的agentid的?

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

    Re:回 19楼迦楠的帖子
    引用第20楼hehua0733于2016-12-13 18:38发表的 回 19楼迦楠的帖子 :
    使用内部应用ID  是可以调用服务窗免登的(我试过可用的)  其他的没试 你试下吧 但应该是没问题的 只要jsapi不报错就可以调用的 [url=https://bbs.aliyun.com/job.php?action=topost&tid=301662&pid=850436][/url]


    这个回复是不准确的,服务窗应用和微应用的jsapi是不能混着调用的,ddconfig初始化的如果是微应用的jsapi,则只能调用微应用相关的api,不能够调用服务窗应用相关的api。

    有些jsapi可能是同时支持服务窗应用和微应用的,但考虑问题时不要混到一起。

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

    Re:回 19楼迦楠的帖子
    引用第22楼hehua0733于2016-12-13 18:44发表的 回 19楼迦楠的帖子 :
    服务窗接口
    获取服务窗关注者列表
    获取关注者详情
    可以正常使用 [url=https://bbs.aliyun.com/job.php?action=topost&tid=301662&pid=850438][/url]

    这几个接口是服务窗的服务端接口,不是jsapi。

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

    回 25楼(迦楠_) 的帖子
    你使用的钉钉客户端版本号是多少?还有你引用的jsapi的js版本号是哪个?

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

    回 28楼(迦楠_) 的帖子
    2016-12-13 17:59:50
    赞同 展开评论 打赏
  • 留下你的钉钉手机号,或者你可以在https://debug.dingtalk.com/?spm=a219a.7629140.0.0.K8PCe2  先调试调试
    2016-12-12 19:42:44
    赞同 展开评论 打赏
  • Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    用内部应用ID type:0

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

    回 7楼迦楠的帖子
    dd.config({
            agentId: DD.agentId,//企业内部应用ID
            corpId: DD.corpId,
            timeStamp: DD.timeStamp,
            nonceStr: DD.nonceStr,
            signature: DD.signature,
            type: 0//
            jsApiList: [
                'runtime.info',
                'biz.user.get',
                'biz.ding.post']
        });
    使用外部应用ID 和 type:1 会报错的

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

    回 14楼迦楠的帖子
    使用 channel.permission.requestAuthCode 先获取code
    再通过code获取资料   和内部应用一样操作
    暂时只能使用企业内部的ID(不要使用服务窗ID)和type:0 不然会报错的

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

    回 19楼迦楠的帖子
    使用内部应用ID  是可以调用服务窗免登的(我试过可用的)  其他的没试 你试下吧 但应该是没问题的 只要jsapi不报错就可以调用的

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

    回 19楼迦楠的帖子
    服务窗接口
    获取服务窗关注者列表
    获取关注者详情
    可以正常使用
    2016-12-10 04:30:22
    赞同 展开评论 打赏
  • 因为agentid不对,agentid是多少?

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

    您好,可以加下我钉钉,18600578280

    2016-12-09 16:23:33
    赞同 展开评论 打赏
  • Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    木有官方的人出来解答一下?

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

    Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    代码如下:
    window.DD = {"此处为PHP生成的JSON"};
    dd.config({
            agentId: DD.agentId,
            corpId: DD.corpId,
            timeStamp: DD.timeStamp,
            nonceStr: DD.nonceStr,
            signature: DD.signature,
            type: 1,//0企业微应用,1服务窗微应用
            jsApiList: [
                'runtime.info',
                'biz.user.get',
                'biz.ding.post']
        });


    dd.ready(function (res) {
      //TODO
    });

    dd.error(function (err) {
        consolelog('dd error: ' + JSON.stringify(err));
    });


    然后dd.error直接就报错了

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

    Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    PHP部分:


    获取channelToken:

    Http::get('/channel/get_channel_token', array(
                    'corpid' => CORPID,
                    'channel_secret' => CHANNEL_SECRET
                ));

    获取channelTicket:

    Http::get('/channel/get_channel_jsapi_ticket', array(
                    'type' => 'jsapi',
                    'access_token' => $accessToken
                ));


    生成签名:

    sha1('jsapi_ticket=' . $ticket . '&noncestr=' . $nonceStr . '&timestamp=' . $timeStamp . '&url=' . $url);

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

    Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    agentid即为在服务窗内创建的微应用的ID,在后台获取到的

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

    回 6楼hehua0733的帖子
    请问兄台是否完成了服务窗关注者免登?

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

    回 9楼赵挺1的帖子
    已加

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

    回 8楼肥龙的帖子
    你好,调试工具页面并没有服务窗相关的

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

    Re服务窗JSAPI,权限检验失败,52019,无效的agentid
    具体报错信息

    dd error: {"message":"权限校验失败 Code:52019 - Messsage:无效的agentid","errorCode":3}

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

    回 4楼赵挺1的帖子
    服务窗内创建的微应用,agentId是 209774

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

    回 15楼粒尘的帖子
    具体报错信息

    dd error: {"message":"权限校验失败 Code:52019 - Messsage:无效的agentid","errorCode":3}

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

    回 16楼hehua0733的帖子
    意思是服务窗的关注者免登还实现不了?

    还是说使用企业微应用ID和type=0也可以实现服务窗关注者免登?

    我现在开发的企业微应用和服务窗微应用是同一套系统。

    我自己试下,谢谢你

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

    回 16楼hehua0733的帖子
    那在服务端获取token和ticket的过程中,使用的secret和请求的地址,是用微应用的呢?还是使用服务窗的?
    谢谢
    2016-12-09 09:23:02
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

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