/// <summary> /// 如果需要用户的详细信息,则需要建立一个企业内部应用,并将AppKey和AppSecret传递到Config参数中DingCorpAppKey和DingCorpAppSecret /// 如果扫描的用户不是企业的员工,则能拿到unionID,但是无法获取userid /// </summary> /// <returns></returns> private DingdingUserInfoEntity GetUserInfoByCorp() { var url = $"{Corp_AccessToken_Url}?appkey={param.DingCorpAppKey}&appsecret={param.DingCorpAppSecret}"; var result = HttpUtil.Get(url); DingdingAccessTokenEntity corp_accToken = JsonConvert.DeserializeObject <DingdingAccessTokenEntity>(result); if (corp_accToken == null || corp_accToken.errcode != "0") { throw new Exception("获取企业应用Token 出错"); } url = $"{Userid_Url}?access_token={corp_accToken.access_token}"; var data = "{\"unionid\": \"" + _persistentCode.unionid + "\"}"; result = HttpUtil.Post(data, url, contentType: "application/json"); DingdingUseridEntity dingdingPersistentCodeEntity = JsonConvert.DeserializeObject <DingdingUseridEntity>(result); if (dingdingPersistentCodeEntity == null || dingdingPersistentCodeEntity.errcode != "0") { throw new Exception("获取不到用户具体userid信息"); } url = $"{UserInfo_Url}?access_token={corp_accToken.access_token}"; data = "{\"userid\": \"" + dingdingPersistentCodeEntity.result.userid + "\"}"; result = HttpUtil.Post(data, url, contentType: "application/json"); DingdingUserInfoEntity dingding_Userinfo = JsonConvert.DeserializeObject <DingdingUserInfoEntity>(result); if (dingding_Userinfo == null) { throw new Exception("获取不到用户信息获取失败"); } return(dingding_Userinfo); }
private DingdingAccessTokenEntity GetAccessToken() { var url = $"{AccessToken_Url}?appid={param.appid}&appsecret={param.appsecret}"; var result = HttpUtil.Get(url); DingdingAccessTokenEntity dingding_AccessToken = JsonConvert.DeserializeObject <DingdingAccessTokenEntity>(result); if (dingding_AccessToken == null || dingding_AccessToken.errcode != "0") { throw new Exception("获取钉钉 ACCESS_TOKEN 出错"); } return(dingding_AccessToken); }