官方接口介绍
发送文本信息
参数有4个,
access_token这个就不用介绍了,就是之前得到的那个AccessToken,就是在这个接口里边当中参数用的
touser是关注了公众号的微信用户的openid,这个其实就是就是第一篇:
我们再看一篇,就是圈起来的那个ID
msgtype=text是固定的;
content就是要发送的文本内容;
新增文本发送类MessageBase.cs、SingleMessageBase.cs、TextSingleMessage.cs
1 public abstract classMessageBase2 {3 protected stringrequestUri;4
5 publicMessageBase()6 { }7
8 public stringSend()9 {10 try
11 {12 var httpContent = this.CreateHttpClient();13 return WeCharBase.Post(this.requestUri, httpContent);14 }15 catch(Exception ex)16 {17 returnex.Message;18 }19 }20
21 protected abstractHttpContent CreateHttpClient();22 }23
24 public abstract classSingleMessageBase : MessageBase25 {26 publicSingleMessageBase()27 {28 base.requestUri = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}";29 }30 }31
32 public classTextSingleMessage : SingleMessageBase33 {34 public string ToUser { get; set; }35 public string TextContent { get; set; }36
37 publicTextSingleMessage() { }38
39 protected overrideHttpContent CreateHttpClient()40 {41 return new StringContent(JsonConvert.SerializeObject(new
42 {43 touser =ToUser,44 msgtype = "text",45 text = new
46 {47 content =TextContent48 }49 }));50 }51 }
新增控制器:SingleMessageController.cs
1 public classSingleMessageController : Controller2 {3 /// 发送文本信息
4 ///
5 publicActionResult ViewTextSingleMessage()6 {7 returnView();8 }9
10 /// 发送文本信息
11 ///
12 public ActionResult TextSingleMessage(stringid)13 {14 var textSingleMessage = newTextSingleMessage()15 {16 ToUser = "ombxUwMY-l-0rFyQkubkFcl4-Ggw",17 TextContent =id18 };19
20 returnContent(textSingleMessage.Send());21 }22 }
新增视图:ViewTextSingleMessage.cshtml
1
2 $(document).ready(function() {3 $("#btnTextSingleMessage").click(function() {4 $.ajax({5 type:"POST",6 url:"/SingleMessage/TextSingleMessage",7 data: { id: $("#txtContent").val() },8 success:function(responseTest) {9 $("#resultMesage").text(responseTest);10 }11 });12 });13 });14
15
16
17
18
19 发送文本消息
20
21
22
23
24
25
运行项目,看效果
点击 发送
发送图片消息
这个参数media_id可以先在基础支持里边的在线测试接口里边上传
得到"media_id": "fJOxpTkVyZDnq7s21ovoeWFHSANKBZpZBBSBOwR2DlVorkRKYXDofqsNxgywL5d8"
新增图片发送类ImageSingleMessage.cs
1 public classImageSingleMessage : SingleMessageBase2 {3 public string ToUser { get; set; }4 public string MediaId { get; set; }5
6 publicImageSingleMessage() { }7
8 protected overrideHttpContent CreateHttpClient()9 {10 return new StringContent(JsonConvert.SerializeObject(new
11 {12 touser =ToUser,13 msgtype = "image",14 image = new
15 {16 media_id =MediaId17 }18 }));19 }20 }
修改控制器:SingleMessageController.cs
新增下边2个方法
/// 发送图片消息
///
publicActionResult ViewImageSingleMessage()
{returnView();
}/// 发送图片消息
///
public ActionResult PostImageMessage(stringid)
{var imageSingleMessage = newImageSingleMessage()
{
ToUser= "ombxUwMY-l-0rFyQkubkFcl4-Ggw",
MediaId=id
};returnContent(imageSingleMessage.Send());
}
新增视图:ViewImageSingleMessage.cshtml
1
2 $(document).ready(function() {3 $("#btnPostImageMessage").click(function() {4 $.ajax({5 type:"POST",6 url:"/SingleMessage/PostImageMessage",7 data: { id: $("#txtMediaId").val() },8 success:function(responseTest) {9 $("#resultPostImageMessage").text(responseTest);10 }11 });12 });13 });14
15
16
17
18
19 发送图片消息(MediaId)
20
21
22
23
24
25
运行项目,看看效果
发送语音消息
参数没什么讲的,跟上边发送图片信息差不多
新增语音发送类:VoiceSingleMessage.cs
1 public classVoiceSingleMessage : SingleMessageBase2 {3 public string ToUser { get; set; }4 public string MediaId { get; set; }5
6 publicVoiceSingleMessage() { }7
8 protected overrideHttpContent CreateHttpClient()9 {10 return new StringContent(JsonConvert.SerializeObject(new
11 {12 touser =ToUser,13 msgtype = "voice",14 voice = new
15 {16 media_id =MediaId17 }18 }));19 }20 }
修改控制器:SingleMessageController.cs
新增下边2个方法
1 /// 发送语音消息
2 ///
3 publicActionResult ViewVoiceSingleMessage()4 {5 returnView();6 }7
8 /// 发送语音消息
9 ///
10 public ActionResult VoiceSingleMessage(stringid)11 {12 var voiceSingleMessage = newVoiceSingleMessage()13 {14 ToUser = "ombxUwMY-l-0rFyQkubkFcl4-Ggw",15 MediaId =id16 };17
18 returnContent(voiceSingleMessage.Send());19 }
新增视图:ViewVoiceSingleMessage.cshtml
1
2 $(document).ready(function() {3 $("#btnVoiceSingleMessage").click(function() {4 $.ajax({5 type:"POST",6 url:"/SingleMessage/VoiceSingleMessage",7 data: { id: $("#txtMediaId").val() },8 success:function(responseTest) {9 $("#resultVoiceSingleMessage").text(responseTest);10 }11 });12 });13 });14
15
16
17
18
19 发送语音消息(MediaId)
20
21
22
23
24
25
看看效果
发送视频消息
media_id与thumb_media_id都是在基础支持接口上传得到,后面会把新增素材写出来
新增视频发送类:VideoSingleMessage.cs
1 public classVideoSingleMessage : SingleMessageBase2 {3 public string ToUser { get; set; }4 public string MediaId { get; set; }5 public string ThumbMediaId { get; set; }6 public string Title { get; set; }7 public string Description { get; set; }8
9 publicVideoSingleMessage() { }10
11 protected overrideHttpContent CreateHttpClient()12 {13 return new StringContent(JsonConvert.SerializeObject(new
14 {15 touser =ToUser,16 msgtype = "video",17 video = new
18 {19 media_id =MediaId,20 thumb_media_id =ThumbMediaId,21 title =Title,22 description =Description23 }24 }));25 }26 }
修改控制器:SingleMessageController.cs
1 /// 发送视频消息
2 ///
3 publicActionResult ViewVideoSingleMessage()4 {5 returnView();6 }7
8 /// 发送视频消息
9 ///
10 publicActionResult VideoSingleMessage()11 {12 var videoSingleMessage = newVideoSingleMessage()13 {14 ToUser = "ombxUwMY-l-0rFyQkubkFcl4-Ggw",15 Description = "Description",16 Title = "Title",17 MediaId = Request["mediaId"],18 ThumbMediaId = Request["thumbMediaId"]19 };20
21 returnContent(videoSingleMessage.Send());22 }
新增视图:ViewVideoSingleMessage.cshtml
1
2 $(document).ready(function() {3 $("#btnUploadVideo").click(function() {4 $.ajax({5 type:"Get",6 url:"/Upload/Video",7 success:function(responseTest) {8 $("#resultUploadVideo").text(responseTest);9 }10 });11 });12 $("#btnUploadMultimediaThumb").click(function() {13 $.ajax({14 type:"Get",15 url:"/Upload/Thumb",16 success:function(responseTest) {17 $("#resultUploadMultimediaThumb").text(responseTest);18 }19 });20 });21
22 $("#btnVideoSingleMessage").click(function() {23 $.ajax({24 type:"POST",25 url:"/SingleMessage/VideoSingleMessage",26 data: { mediaId: $("#textMediaId").val(), thumbMediaId: $("#txtThumbMediaId").val() },27 success:function(responseTest) {28 $("#resultVideoSingleMessage").text(responseTest);29 }30 });31 });32 });33
34
35
36
37
38 上传视频消息素材
39 待上传的视频文件:video.mp4
40
41
42
43
44
45
46
47 上传缩略图消息素材
48
49
50
51
52
53
54
55
56 发送视频消息(MediaId,ThumbMediaId)
57
58
59
60
61
62
63
运行项目,看看效果
发送图文消息
新增图文发送类:NewsSingleMessage.cs
1 public classNewsSingleMessage : SingleMessageBase2 {3 public string ToUser { get; set; }4
5 public List Articles { get; set; }6
7 publicNewsSingleMessage() { }8
9 protected overrideHttpContent CreateHttpClient()10 {11 return new StringContent(JsonConvert.SerializeObject(new
12 {13 touser =ToUser,14 msgtype = "news",15 news = new
16 {17 articles =Articles18 }19 }));20 }21 }
修改控制器:SingleMessageController.cs
新增下边2个方法
1 /// 发送图文消息
2 ///
3 publicActionResult ViewNewsSingleMessage()4 {5 returnView();6 }7
8 /// 发送图文消息
9 ///
10 publicActionResult NewsSingleMessage()11 {12 var newsSingleMessage = newNewsSingleMessage()13 {14 ToUser = "ombxUwMY-l-0rFyQkubkFcl4-Ggw",15 Articles = new List()16 {17 newSendNewsMessageArticlesModel()18 {19 title="图片1",20 description="图片说明1",21 url="http://www.cnblogs.com/lanxiaoke",22 picurl="http://desk.fd.zol-img.com.cn/t_s960x600c5/g5/M00/02/07/ChMkJlbKy1mIG_eHAAlF-ObP9cEAALIpgOhgqkACUYQ017.jpg"
23 },24 newSendNewsMessageArticlesModel()25 {26 title="图片2",27 description="图片说明2",28 url="http://www.cnblogs.com/lanxiaoke",29 picurl="http://desk.fd.zol-img.com.cn/t_s960x600c5/g5/M00/02/07/ChMkJ1bKy1qIDBKwABi_N9uSQHEAALIpgOIw1oAGL9P120.jpg"
30 }31 }32 };33
34 returnContent(newsSingleMessage.Send());35 }
运行项目,看看效果
好了,自此,发送客服消息已经介绍完了,希望对新手有所帮助
微信公众号平台接口开发系列