コード例 #1
0
 /// <summary>
 /// 获取token,若token存在则返回当前值,若不存在则调用接口重新获取
 /// </summary>
 /// <returns></returns>
 private static string GetAccessToken()
 {
     if (string.IsNullOrEmpty(AccessToken))
     {
         //从配置文件获取corpid
         string corpid = WechatCommonPara.CorpId;
         //从配置文件获取corpsecret
         string corpsecret = WechatCommonPara.CorpSecret;
         string para       = string.Format("corpid={0}&corpsecret={1}", corpid, corpsecret);
         //获取token
         string returnStr = CostomHttpRequest.HttpGet("https://qyapi.weixin.qq.com/cgi-bin/gettoken", para);
         //转换成Object
         CropTokenResult tokenResult = JsonConvert.DeserializeObject <CropTokenResult>(returnStr);
         //取token失败则抛出异常
         if (string.IsNullOrEmpty(tokenResult.access_token))
         {
             throw new Exception(string.Format("errcode:{0},errmsg:{1}",
                                               tokenResult.errcode, tokenResult.errmsg));
         }
         return(tokenResult.access_token);
     }
     else
     {
         return(AccessToken);
     }
 }
コード例 #2
0
        private CorpSendResult SendMessage(string url, CorpMessageBase sendData)
        {
            CorpSendResult result = new CorpSendResult();
            //发出请求
            string returnStr = CostomHttpRequest.HttpPost(url, JsonConvert.SerializeObject(sendData));

            //返回结果反序列化
            result = JsonConvert.DeserializeObject <CorpSendResult>(returnStr);
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 上传永久素材
        /// media_id是可复用的,同一个media_id可用于消息的多次发送
        /// </summary>
        /// <param name="type">媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)</param>
        /// <param name="path">文件路径</param>
        /// <param name="mediaId">返回的素材media_id</param>
        /// <returns></returns>
        public CommonResult Add(string type, string path, ref string mediaId)
        {
            CommonResult result = new CommonResult();

            mediaId = "";
            try
            {
                //url
                string urlFormat = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}";
                string url       = string.Format(urlFormat, CropToken.AccessToken, type);
                string returnStr = CostomHttpRequest.UploadFile(url, path);

                //发送消息
                CropMaterialResult materialResult = JsonConvert.DeserializeObject <CropMaterialResult>(returnStr);
                //处理发送结果
                if (materialResult.errcode != "0")
                {
                    result.Success      = false;
                    result.ErrorMessage = string.Format("errcode:{0},errmsg:{1}",
                                                        materialResult.errcode, materialResult.errmsg);
                }
                else
                {
                    result.Success      = true;
                    mediaId             = materialResult.media_id;
                    result.ErrorMessage = string.Format("errcode:{0},errmsg:{1}",
                                                        materialResult.errcode, materialResult.errmsg);
                }
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }
            return(result);
        }