微信开发之微信发送消息
本内容为微信开发之微信发送消息
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&appid={0}&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
以上是微信开发之微信发送消息 的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP是一种开源的脚本语言,广泛应用于Web开发和服务器端编程,尤其在微信开发中得到了广泛的应用。如今,越来越多的企业和开发者开始使用PHP进行微信开发,因为它成为了一款真正的易学易用的开发语言。在微信开发中,消息的加密和解密是一个非常重要的问题,因为它们涉及到数据的安全性。对于没有加密和解密方式的消息,黑客可以轻松获取到其中的数据,对用户造成威胁

随着微信的普及,越来越多的企业开始将其作为营销工具。而微信群发功能,则是企业进行微信营销的重要手段之一。但是,如果只依靠手动发送,对于营销人员来说是一件极为费时费力的工作。所以,开发一款微信群发工具就显得尤为重要。本文将介绍如何使用PHP开发微信群发工具。一、准备工作开发微信群发工具,我们需要掌握以下几个技术点:PHP基础知识微信公众平台开发开发工具:Sub

在微信公众号开发中,用户标签管理是一个非常重要的功能,可以让开发者更好地了解和管理自己的用户。本篇文章将介绍如何使用PHP实现微信用户标签管理功能。一、获取微信用户openid在使用微信用户标签管理功能之前,我们首先需要获取用户的openid。在微信公众号开发中,通过用户授权的方式获取openid是比较常见的做法。在用户授权完成后,我们可以通过以下代码获取用

随着微信成为了人们生活中越来越重要的一个通讯工具,其敏捷的消息传递功能迅速受到广大企业和个人的青睐。对于企业而言,将微信发展为一个营销平台已经成为趋势,而微信开发的重要性也逐渐凸显。在其中,群发功能更是被广泛使用,那么,作为PHP程序员,如何实现群发消息发送记录呢?下面将为大家简单介绍一下。1.了解微信公众号相关开发知识在了解如何实现群发消息发送记录之前,我

微信是目前全球用户规模最大的社交平台之一,随着移动互联网的普及,越来越多的企业开始意识到微信营销的重要性。在进行微信营销时,客服服务是至关重要的一环。为了更好地管理客服聊天窗口,我们可以借助PHP语言进行微信开发。一、PHP微信开发简介PHP是一种开源的服务器端脚本语言,广泛运用于Web开发领域。结合微信公众平台提供的开发接口,我们可以使用PHP语言进行微信

在微信公众号开发中,投票功能经常被运用。投票功能是让用户快速参与互动的好方式,也是举办活动和调查意见的重要工具。本文将为您介绍如何使用PHP实现微信投票功能。获取微信公众号授权首先,你需要获取微信公众号的授权。在微信公众平台上,你需要配置微信公众号的api地址、官方账号和公众号对应的token。在我们使用PHP语言开发的过程中,我们需要使用微信官方提供的PH

随着互联网和移动智能设备的发展,微信成为了社交和营销领域不可或缺的一部分。在这个越来越数字化的时代,如何使用PHP进行微信开发已经成为了很多开发者的关注点。本文主要介绍如何使用PHP进行微信开发的相关知识点,以及其中的一些技巧和注意事项。一、开发环境准备在进行微信开发之前,首先需要准备好相应的开发环境。具体来说,需要安装PHP的运行环境,以及微信公众平台提

随着移动互联网的普及,微信作为一款社交软件,越来越多的人开始使用,并且微信开放平台也给开发者带来了众多的机会。近年来,随着人工智能技术的发展,语音识别技术逐渐成为了移动端开发的热门技术之一。在微信开发中,如何实现语音识别成为很多开发者关注的问题。本文将介绍如何利用PHP开发微信应用实现语音识别功能。一、语音识别原理在介绍如何实现语音识别之前,我们先了解一下语
