孙佳89 2020-10-17 09:06 采纳率: 14.3%
浏览 188
已采纳

oapi.dingtalk.com一到晚上就崩,一到早上就好?

我们公司用小程序开发者工具+php+mysql想开发一款钉钉企业内部应用,需要调钉钉的接口获取用户信息,也就是oapi,dingtalk.com这个接口,服务器是windows server 2012 r2版本,出现的问题很蹊跷。白天调用一切正常,可以返回用户信息,一到晚上(大概5点半左右)就开始调用不通,获取不到用户信息。每天都是这样,这是中了什么邪?把相应调用位置的代码贴出来,求大神赐教。

dd.getAuthCode({

success:function(res){
    authCode = res.authCode;
    //dd.alert({content:"authcode="+authCode});
    dd.setStorage({
          key: 'authCode',
          data: authCode,
        }); 

    dd.httpRequest({
      url: 'https://oapi.dingtalk.com/gettoken?appkey='+appkey+'&appsecret='+appsecret,
      method: 'GET',
      dataType: 'json',
      success: function(res) {
        access_token = res.data.access_token;
        //dd.alert({content:"token="+access_token});
        dd.setStorage({
          key: 'access_token',
          data: access_token,
        });  

            dd.httpRequest({
              url: 'https://oapi.dingtalk.com/user/getuserinfo?access_token=' + access_token + '&code=' + authCode,
              method:'GET',
              dataType:'json',
              success: function (res) {

                user = res.data;
                //dd.alert({content:user.name});
                dd.setStorage({
                  key:'username',
                  data:user.name,
                });

                dd.setStorage({
                  key:'userid',
                  data:user.userid,
                });

省去后面代码

  • 写回答

1条回答 默认 最新

  • 「已注销」 2020-10-17 10:05
    关注

    首先你的authCode获取之后似乎没有复用,就没必要放缓存了。
    其次获取用户信息应该写在后端,你这么直接把appkey、appsecret、accesstoken、authCode全暴露在前端,被抓包就不好了。
    最后我看不出来你的代码有什么问题,可能是因为贴的不完整吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题