收藏
回答

获取应用的jsapi_ticket

第三方服务商马上要获取不到客户企业的通讯录的用户姓名和部门名称了

使用通讯录展示组件,无论是微信、企业微信的内置浏览器还是第三方浏览器,都需要通过 agentConfig 登记第三方应用的身份信息。

登记第三方应用信息,必须生成签名,生成签名必须获取应用的jsapi_ticket

我作为第三方服务商,我的客户企业安装了我开发的应用,使用第三方浏览器然后登陆到我的后台,我使用客户企业的corp_id和永久授权码,获得这家客户的access_token,使用这家客户企业的access_token去获取应用的jsapi_ticket。

我想问,需要缓存不同客户企业的 access_token 和 jsapi_ticket 吗?我获取jsapi_ticket 的时候,不同的客户企业,获取到的jsapi_ticket是不同的

我测试了一下,我把其中一家客户企业的jsapi_ticket给另外一家客户企业用,一样可以显示通讯录,我甚至删掉JS,清空浏览缓存,还是可以正常获取到通讯录,然后我就不知道怎么回事了,麻烦大神回复


回答关注问题邀请回答
收藏

3 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-03-18

    您好,需要缓存不同企业的accesstoken,可以提供下其中一家客户企业的jsapi_ticket给另外一家客户企业用的两个企业corpid,accesstoken,jsapi_ticket,和时间点我们看看哈

    2020-03-18
    有用
    回复 2
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-03-18
      还有是不是在第三方浏览器下的场景下处理的吗,展示的通讯录是否都一致呢
      2020-03-18
      回复
    • 果子
      果子
      2020-03-18回复企业微信运营专员-千夜
      我把问题回复在下面了,明天我可以实时调试,大神,帮帮我吧,救救孩子吧
      2020-03-18
      回复
  • Sevenaven
    Sevenaven
    2023-12-05

    大佬,我用客户的corpid和永久授权码拿到accessToken,然后去请求拿到jsapi_ticket,但是报jsapi_ticket不可用,是我的参数有问题嘛

    2023-12-05
    有用
    回复 1
    • Sevenaven
      Sevenaven
      2023-12-05
      用的是agentConfig,agentid使用的是获取永久授权码里面的agentid,corpid也是从永久授权码接口里拿的
      2023-12-05
      回复
  • 果子
    果子
    2020-03-18

    然后互相换jsapi_ticket,或者直接把签名换成12341234124124,还是能显示用户姓名和部门部门名称,好奇怪啊。切换登陆企业,显示的用户姓名和部门名称是正确的,会跟着不同的企业显示他们自己的用户和部门

    2020-03-18
    有用
    回复 3
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-03-19
      您好,目前通过第三方浏览器二维码扫码登入为了解决一些多域名等状况,是可以直接使用登入态去获取通讯录的,即获取到ticket后不会进行下一步的agentconfig校验,如果是在手机端和内置浏览器端流程是获取到的ticket一定一定会执行agentconfig这部操作的,所以需要缓存不同授权企业的accesstoken
      2020-03-19
      1
      回复
    • 果子
      果子
      2020-03-19回复企业微信运营专员-千夜
      获取jsapi_ticket,一小时内,一个企业最多可获取400次,且单个应用不能超过100次。这里说的企业指的是注册安装了我们服务商应用的企业,不是我们服务商,对吧。
      2020-03-19
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-03-19
      是的
      2020-03-19
      1
      回复
登录 后发表内容
问题标签