u010679091
孙佳89
采纳率14.3%
2020-10-17 09:06

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条回答

  • weixin_50336582 淦煜 7月前

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

    点赞 1 评论 复制链接分享

相关推荐