Beispiel #1
0
        /// <summary>
        /// 上传图文消息素材【订阅号与服务号认证后均可用】
        /// thumb_media_id:图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得
        /// </summary>
        /// <param name="access_token"></param>
        /// <param name="articles">图文消息,一个图文消息支持1到10条图文</param>
        /// <returns>success: { "type":"news","media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ", "created_at":1391857799}</returns>
        public static dynamic UploadArtcles(string access_token, List <WeixinArtcle> articles)
        {
            var url    = string.Format("https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token={0}", access_token);
            var client = new HttpClient();
            var result = client.PostAsync(url, new StringContent(DynamicJson.Serialize(articles))).Result;

            return(DynamicJson.Parse(result.Content.ReadAsStringAsync().Result));
        }
Beispiel #2
0
 public static string GetJsSDKTicket(string appid, string appsecrect, bool force = false)
 {
     try
     {
         var access_token = "";
         var jssdk_ticket = "";
         if (force && cache.Contains(appid))
         {
             cache.Remove(appid);
         }
         if (!cache.Contains(appid))
         {
             access_token = GetAccessToken(appid, appsecrect).access_token;
             jssdk_ticket = GetTickect(access_token).ticket;
             var json = DynamicJson.Serialize(
                 new weixin_token
             {
                 access_token = access_token,
                 jssdk_ticket = jssdk_ticket
             });
             var policy = new CacheItemPolicy()
             {
                 AbsoluteExpiration = DateTime.Now.AddSeconds(ACCESS_TOKEN_EXPIRE_SECONDS)
             };
             cache.Set(appid, json, policy);
         }
         else
         {
             var weixin_token = DynamicJson.Parse(cache.Get(appid).ToString());
             access_token = weixin_token.access_token;
             jssdk_ticket = weixin_token.jssdk_ticket;
         }
         //Logger.Info(string.Format("appid:{0};access_token:{1};jssdk_ticket:{2}", appid, access_token, jssdk_ticket));
         return(jssdk_ticket);
     }
     catch (Exception ex)
     {
         Log.Debug("GetJsSDKTicket", "GetJsSDKTicket异常" + ex);
         //Logger.Debug("YTS_OrderAPI.Common.WxCommon.GetJsSDKTicket异常", ex);
         return(string.Empty);
     }
 }