Ejemplo n.º 1
0
        /// <summary>
        /// 获取jsapi_ticket
        /// </summary>
        /// <param name="accessToken">企业凭证</param>
        /// <returns></returns>
        public static string GetJSApiTicket(string accessToken)
        {
            IDingTalkClient           client = new DefaultDingTalkClient(Settings.Default.GetJSApiTicketServerUrl);
            OapiGetJsapiTicketRequest req    = new OapiGetJsapiTicketRequest();

            req.SetHttpMethod("GET");
            OapiGetJsapiTicketResponse rsp = client.Execute(req, accessToken);

            return(rsp.Body);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取 JsApiTicket
        /// </summary>
        /// <returns></returns>
        public static string GetJsApiTicket(string accessToken)
        {
            DefaultDingTalkClient     client = new DefaultDingTalkClient("https://oapi.dingtalk.com/get_jsapi_ticket");
            OapiGetJsapiTicketRequest req    = new OapiGetJsapiTicketRequest();

            req.SetHttpMethod("GET");
            OapiGetJsapiTicketResponse response = client.Execute(req, accessToken);

            if (response != null && response.Errcode == 0)
            {
                return(response.Ticket);
            }
            return(null);
        }
 public void InsertCache()
 {
     try
     {
         string accessToken = AccessToken.GetAccessToken();
         //获取授权jsapi_ticket
         DefaultDingTalkClient     client = new DefaultDingTalkClient("https://oapi.dingtalk.com/get_jsapi_ticket");
         OapiGetJsapiTicketRequest req    = new OapiGetJsapiTicketRequest();
         req.SetHttpMethod("GET");
         OapiGetJsapiTicketResponse execute = client.Execute(req, accessToken);
         HttpRuntime.Cache.Insert("Dingtalk_Ticket", execute.Ticket, null, DateTime.Now.AddSeconds(3600), Cache.NoSlidingExpiration);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 生成JsAipTicket
        /// </summary>
        /// <param name="_accessToken"></param>
        /// <returns></returns>
        private string GetJsApiTicket(string _accessToken)
        {
            DefaultDingTalkClient     client = new DefaultDingTalkClient("https://oapi.dingtalk.com/get_jsapi_ticket");
            OapiGetJsapiTicketRequest req    = new OapiGetJsapiTicketRequest();

            req.SetHttpMethod("GET");
            OapiGetJsapiTicketResponse response = client.Execute(req, _accessToken);

            if (response.Errcode == 0)
            {
                return(response.Ticket);
            }
            else
            {
                throw new Exception("获取jsTicket错误:" + response.ErrMsg);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取免登录ticket
        /// </summary>
        /// <param name="accessToken"></param>
        /// <returns></returns>
        public static string GetJSTicket(string accessToken)
        {
            try
            {
                var client = new DefaultDingTalkClient("https://oapi.dingtalk.com/get_jsapi_ticket");

                OapiGetJsapiTicketRequest jsapiTicket = new OapiGetJsapiTicketRequest();
                jsapiTicket.AddOtherParameter("access_token", accessToken);
                jsapiTicket.SetHttpMethod("GET");
                OapiGetJsapiTicketResponse retString = client.Execute(jsapiTicket);
                log.Info("GetJSTicket: " + retString.Body);
                return(retString.Ticket);
            }
            catch (Exception ex)
            {
                log.Info(ex);
                return("");
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static Result GetDingTicket()
        {
            Result result = new Result()
            {
                Code = 1
            };
            string                    accessToken = GetDingToken();
            IDingTalkClient           client      = new DefaultDingTalkClient(dingUrl + "/get_jsapi_ticket");
            OapiGetJsapiTicketRequest req         = new OapiGetJsapiTicketRequest
            {
            };

            req.SetHttpMethod("GET");
            OapiGetJsapiTicketResponse rsp = client.Execute(req, accessToken);

            if (rsp.Body != null)
            {
                result.Obj = rsp.Body;
            }
            return(result);
        }
        public IHttpActionResult GetJsapiTicket(string url)
        {
            try
            {
                string accessToken = AccessToken.GetAccessToken();
                //获取授权jsapi_ticket
                DefaultDingTalkClient     client = new DefaultDingTalkClient("https://oapi.dingtalk.com/get_jsapi_ticket");
                OapiGetJsapiTicketRequest req    = new OapiGetJsapiTicketRequest();
                req.SetHttpMethod("GET");
                OapiGetJsapiTicketResponse execute = client.Execute(req, accessToken);
                //初始化配置类
                Ticket ticket = new Ticket();
                ticket.AgentId = Allocation.AgentId.ToString();
                ticket.CorpId  = Allocation.CorpId;
                //时间戳
                string timeStamp = ConvertDateTimeToInt().ToString();
                ticket.TimeX = timeStamp;
                //生成签名随机字符串
                string nonceStr = "123456";
                ticket.NonceStr = nonceStr;
                //计算鉴权签名
                string str = "jsapi_ticket=" + execute.Ticket + "&noncestr=" + nonceStr + "&timestamp=" + timeStamp + "&url=" + url;

                var buffer = Encoding.UTF8.GetBytes(str);
                var data   = SHA1.Create().ComputeHash(buffer);
                //BitConverter.ToString(data)
                StringBuilder sub = new StringBuilder();
                foreach (var t in data)
                {
                    sub.Append(t.ToString("x2"));
                }
                //var sha = SHA1(str);
                ticket.Signature = sub.ToString();
                return(JsonResultHelper.JsonResult(0, "请求成功", ticket));
            }
            catch (Exception ex)
            {
                return(JsonResultHelper.JsonResult(10000, "请求失败:" + ex.ToString()));
            }
        }