亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信開發之微信發送消息的示例分析

發布時間:2021-09-10 14:34:51 來源:億速云 閱讀:104 作者:小新 欄目:移動開發

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

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

微信開發之微信發送消息的示例分析

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

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

  (1)基礎方法,http方法    

/// <summary>
        ///      http  get/post 公用方法
        /// </summary>
        /// <param name="requestUrl">請求鏈接</param>
        /// <param name="requestJsonParams">請求參數值(如果是get方式此處為“”值,默認為 "")</param>
        /// <param name="requestMethod">請求方式  post or get</param>
        /// <returns></returns>
        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)模擬發送:  

/// <summary>
        ///     發送微信信息(單用戶發送)
        /// </summary>
        /// <param name="access_token">授權碼(微信token)</param>
        /// <param name="messageInfo">發送信息模型</param>
        /// <returns></returns>
        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);
        }
        /// <summary>
        ///     發送微信信息(多用戶批量發送)
        /// </summary>
        /// <param name="access_token">授權碼(微信token)</param>
        /// <param name="messageInfo">發送信息模型</param>
        /// <returns></returns>
        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)兩個參數 模型: 

/// <summary>
    ///     微信 發送信息 參數實體模型
    /// </summary>
    public class WeChatParamEntity
    {
        /// <summary>
        ///     普通用戶openid
        /// </summary>
        public string ToUser { get; set; }
        /// <summary>
        ///     傳輸的文件類型(text,image, and so on)
        /// </summary>
        public string MsgType { get; set; } = "text";
        /// <summary>
        ///     傳輸文本內容
        /// </summary>
        public string Text { get; set; }

    }

    /// <summary>
    ///     微信 發送信息 參數實體模型
    /// </summary>
    public class WeChatParamsEntity
    {
        /// <summary>
        ///     普通用戶openid
        /// </summary>
        public string[] ToUser { get; set; }
        /// <summary>
        ///     傳輸的文件類型(text,image, and so on)
        /// </summary>
        public string MsgType { get; set; } = "text";
        /// <summary>
        ///     傳輸文本內容
        /// </summary>
        public string Text { get; set; }

    }

  (4)web.config中的鏈接

<!--微信接口-->

    <add key="appid" value="wx123456789021"/>
    <add key="appSecret" value="adasdsadasdasdsadasdsaqweqw"/>
    <add key="getAccessTokenUrl" value="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&amp;appid={0}&amp;secret={1}"/>
    <!--單用戶信息發送-->
    <add key="postSingleTextMessageUrl" value="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}"/>
    <!--多用戶批量發送-->
    <add key="postTextMessagesUrl" value="https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token={0}"/>
    <!--\微信接口-->

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

appid  和appsecrept的時候,當前這個頁面下面有一個二維碼,找幾個人用微信掃掃就可以自動獲取openID ,這時候將參數帶入腳本模擬

post即可

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

  注意三:token有效時間為7200,倆小時,需要判斷當前發送信息用戶的token有效性,同時每天最大可請求次數為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

以上是“微信開發之微信發送消息的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌什县| 金湖县| 保山市| 鄂伦春自治旗| 山阳县| 秦安县| 辽中县| 顺平县| 吴旗县| 会同县| 白山市| 德阳市| 富裕县| 白水县| 菏泽市| 武功县| 翁牛特旗| 师宗县| 扶风县| 右玉县| 南漳县| 黎平县| 塔城市| 读书| 柳河县| 张家港市| 金华市| 双辽市| 武汉市| 舒兰市| 宁河县| 内江市| 肇州县| 彰武县| 华阴市| 浦县| 普陀区| 银川市| 大兴区| 义马市| 车致|