收藏
回答

agentConfig执行ok , getContext、getCurExternalCha回调失败

问题类型 API/组件名称 终端类型 微信版本 基础库版本
Bug getContext/getCurExternalChat 微信iOS客户端 3.0.24(48885)

开发角色:第三方应用


js-sdk版本

<script type="text/javascript" src='//res.wx.qq.com/open/js/jweixin-1.2.0.js'></script>



必要配置

当前成员已配置了客户联系功能,已配置客户联系功能权限



问题描述

使用js-sdk调用 config 和agentConfig 已成功

接下来 在agentConfi的success回调里面调用 getContext

提示 返回的结果为空



类似问题

config执行ok,agentConfig也执行ok,但是好像不执行wx.invoke

https://developers.weixin.qq.com/community/develop/doc/00008050db02d0a0441a45dc95b000?highLine=agentConfig



目标

成功调用 getContextgetCurExternalChat


具体代码如下

wx.config({
  beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: data.corpid, // 必填,企业微信的corpID
  timestamp: data.config.timestamp, // 必填,生成签名的时间戳
  nonceStr: data.config.nonceStr, // 必填,生成签名的随机串
  signature: data.config.signature,// 必填,签名,见 附录-JS-SDK使用权限签名算法
  jsApiList: [
    'agentConfig',
    'checkJsApi',
    'onMenuShareWechat',
    'onMenuShareAppMessage'
  ] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});


wx.ready(function () {
  wx.agentConfig({
    corpid: data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
    agentid: data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
    timestamp: data.agnetConfig.timestamp, // 必填,生成签名的时间戳
    nonceStr: data.agnetConfig.nonceStr, // 必填,生成签名的随机串
    signature: data.agnetConfig.signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
    jsApiList: ['getContext', 'getCurExternalChat'], //必填
    success: function (res) {
      alert('agentConfig 调用成功') // 这里执行成功


      // 回调
      wx.invoke('getContext', {}, function (res1) {
        alert(`getContext :`, res1) // 这里返回 的res1 为空
        if (res1.err_msg == "getContext:ok") {
          let entry = res1.entry // 入口环境
          if (entry == 'group_chat_tools') { // 群聊中工具栏进入 


            // 无法进入到这里
            wx.invoke('getCurExternalChat', {}, function (res2) {
              // 获取当前客户群的群ID
              alert(`getCurExternalChat :`, res2)
            })


          }
        } else {
          //错误处理
          alert(`getContext 错误`, res1.err_msg) // 这里也同时会执行 
        }
      })
    },
    fail: function (res) {
      if (res.errMsg.indexOf('function not exist') > -1) {
        alert('版本过低请升级')
      }
    }
  })
})



最后一次编辑于  2020-07-01
回答关注问题邀请回答
收藏

5 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-07-02

    您好,看代码是没问题,第三方应用是否有开启企业客户功能呢,

    2020-07-02
    有用
    回复 3
    • Mrcuix
      Mrcuix
      2020-07-02
      已开启,但没有用,你们技术客服同事也同样问过
      2020-07-02
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-07-03回复Mrcuix
      给下corpid suiteid 和调用时间看看吧
      2020-07-03
      回复
    • Mrcuix
      Mrcuix
      2020-07-03回复企业微信运营专员-千夜
      技术客服,也是问的同样话,让删除后重新安装测试应用,但也没用
      2020-07-03
      回复
  • 散木
    散木
    2021-06-07

    请问下现在解决了吗?


    2021-06-07
    有用
    回复
  • 紫竹思雨🍃
    紫竹思雨🍃
    2021-03-12

    楼主后来有解决问题吗?

    2021-03-12
    有用
    回复 1
    • 简浅
      简浅
      2022-11-15
      请问你解决了吗
      2022-11-15
      回复
  • 我是一棵树🌵
    我是一棵树🌵
    2020-12-07

    同问有查到原因吗,今天碰到了好几次这样的问题

    2020-12-07
    有用
    回复
  • Zu
    Zu
    2020-07-02

    请问有查到问题原因么?


    2020-07-02
    有用
    回复
登录 后发表内容
问题标签