真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信開發(fā)之微信發(fā)送消息的示例分析

這篇文章主要為大家展示了“微信開發(fā)之微信發(fā)送消息的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信開發(fā)之微信發(fā)送消息的示例分析”這篇文章吧。

臨江網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,臨江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為臨江近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的臨江做網(wǎng)站的公司定做!

1,首先,獲取開發(fā)者測試賬號(申請),會根據(jù)當(dāng)前掃碼提供的賬號生成測試賬號: 鏈接地址:http://mp.weixin.qq.com/wiki/home/index.html

微信開發(fā)之微信發(fā)送消息的示例分析

這時候可以獲取到測試用的appid和appsecrept,然后調(diào)用獲取接口調(diào)用憑證 接口獲取access_token;

2,下面說信息發(fā)送,模擬了單用戶信息發(fā)送和多用戶消息批量發(fā)送

(1)基礎(chǔ)方法,http方法  

/// 
        ///      http  get/post 公用方法
        /// 
        /// 請求鏈接
        /// 請求參數(shù)值(如果是get方式此處為“”值,默認(rèn)為 "")
        /// 請求方式  post or get
        /// 
        public static string Request(this string requestUrl, string requestMethod, string requestJsonParams = "")
        {
            string returnText = "";
            StreamReader streamReader = null;
            HttpWebRequest request = null;
            HttpWebResponse response = null;

            Encoding encoding = Encoding.UTF8;
            request = (HttpWebRequest)WebRequest.Create(requestUrl);
            request.Method = requestMethod;
            if (!string.IsNullOrEmpty(requestJsonParams) && requestMethod.ToLower() == "post")
            {
                byte[] buffer = encoding.GetBytes(requestJsonParams);
                request.ContentLength = buffer.Length;
                request.GetRequestStream().Write(buffer, 0, buffer.Length);
            }

            try
            {
                response = (HttpWebResponse)request.GetResponse();
                using (streamReader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312")))//utf-8
                {
                    returnText = streamReader.ReadToEnd();
                }
            }
            catch (Exception ex)
            {
                returnText = ex.Message;
            }

            return returnText;
        }

(2)模擬發(fā)送:

/// 
        ///     發(fā)送微信信息(單用戶發(fā)送)
        /// 
        /// 授權(quán)碼(微信token)
        /// 發(fā)送信息模型
        /// 
        public static string SendSingleMessage(WeChatParamEntity messageInfo, string access_token)
        {
            messageInfo.MsgType = string.IsNullOrEmpty(messageInfo.MsgType) ? "text" : messageInfo.MsgType;
            string jsonDataParams = messageInfo == null ? "" : JsonConvert.SerializeObject(new
            {
                touser = messageInfo.ToUser,
                msgtype = messageInfo.MsgType,
                text = new { content = messageInfo.Text }
            });
            string requestUrl = string.Format(Consts.URL_POSTSINGLETEXTMESSAGE, access_token);
            return requestUrl.Request("POST", jsonDataParams);
        }
        /// 
        ///     發(fā)送微信信息(多用戶批量發(fā)送)
        /// 
        /// 授權(quán)碼(微信token)
        /// 發(fā)送信息模型
        /// 
        public static string SendMessages(WeChatParamsEntity messageInfo, string access_token)
        {
            messageInfo.MsgType = string.IsNullOrEmpty(messageInfo.MsgType) ? "text" : messageInfo.MsgType;
            string jsonDataParams = messageInfo == null ? "" : JsonConvert.SerializeObject(new
            {
                touser = messageInfo.ToUser,
                msgtype = messageInfo.MsgType,
                text = new { content = messageInfo.Text }
            });
            string requestUrl = string.Format(Consts.URL_POSTTEXTMESSAGES, access_token);
            return requestUrl.Request("POST", jsonDataParams);
        }

(3)兩個參數(shù) 模型: 

/// 
    ///     微信 發(fā)送信息 參數(shù)實體模型
    /// 
    public class WeChatParamEntity
    {
        /// 
        ///     普通用戶openid
        /// 
        public string ToUser { get; set; }
        /// 
        ///     傳輸?shù)奈募愋停╰ext,image, and so on)
        /// 
        public string MsgType { get; set; } = "text";
        /// 
        ///     傳輸文本內(nèi)容
        /// 
        public string Text { get; set; }

    }

    /// 
    ///     微信 發(fā)送信息 參數(shù)實體模型
    /// 
    public class WeChatParamsEntity
    {
        /// 
        ///     普通用戶openid
        /// 
        public string[] ToUser { get; set; }
        /// 
        ///     傳輸?shù)奈募愋停╰ext,image, and so on)
        /// 
        public string MsgType { get; set; } = "text";
        /// 
        ///     傳輸文本內(nèi)容
        /// 
        public string Text { get; set; }

    }

(4)web.config中的鏈接



    
    
    
    
    
    
    
    

3,測試使用涉及到  touser的這個參數(shù),這個是需要發(fā)送的對象的  openID,這個很簡單,在開發(fā)者文檔(也就是上面的步驟二中,)獲取

appid  和appsecrept的時候,當(dāng)前這個頁面下面有一個二維碼,找?guī)讉€人用微信掃掃就可以自動獲取openID ,這時候?qū)?shù)帶入腳本模擬

post即可

另外需要注意:文檔中提示的  json 參數(shù)格式

注意三:token有效時間為7200,倆小時,需要判斷當(dāng)前發(fā)送信息用戶的token有效性,同時每天最大可請求次數(shù)為2000.

獲取token :

#region 獲取token,并驗證token過期時間

        public static string GetAccessToken(string appid, string appSecret)
        {
            string token = "";
            string requestUrl = string.Format(ConfigBLL.URL_GETACCESSTOKEN, appid, appSecret);
            string requestResult = WebAPITransfer.Request(requestUrl, "GET", "");

            CommonBLL.DebugLog(requestResult, "AccessToken-token-Params");
            string[] strArray = requestResult.Split(',');
            token = strArray[0].Split(':')[1].Replace("\"", "");

            return token;
        }

        #endregion

以上是“微信開發(fā)之微信發(fā)送消息的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


標(biāo)題名稱:微信開發(fā)之微信發(fā)送消息的示例分析
文章網(wǎng)址:http://weahome.cn/article/jsjshe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部