当前位置:文档之家› 微信公共服务平台开发(.Net 的实现)1

微信公共服务平台开发(.Net 的实现)1

微信公共服务平台开发(.Net 的实现)1
微信公共服务平台开发(.Net 的实现)1

C#开发微信公众平台-就这么简单(附Demo) 最近公司在做微信开发,其实就是接口开发,网上找了很多资料,当然园友也写了很多教程,但都是理论说了一大堆,实用指导或代码很少。如果你自己仔细研究下,其实就那么点东西,C#实现起来也很简单,原本不想写这篇文章的,但是本人当时摸索走了很多弯路,这边总结下,希望初次接触微信公众平台的朋友别像当时的我一样。

自己动手,丰衣足食。

服务号和订阅号

服务号是公司申请的微信公共账号,订阅号是个人申请的,我个人也申请了一个,不过没怎么用。

服务号

1.1个月(30天)内仅可以发送1条群发消息。

2.发给订阅用户(粉丝)的消息,会显示在对方的聊天列表中。

3.在发送消息给用户时,用户将收到即时的消息提醒。

4.服务号会在订阅用户(粉丝)的通讯录中。

5.可申请自定义菜单。

订阅号

1.每天(24小时内)可以发送1条群发消息。

2.发给订阅用户(粉丝)的消息,将会显示在对方的订阅号文件夹中。

3.在发送消息给订阅用户(粉丝)时,订阅用户不会收到即时消息提醒。

4.在订阅用户(粉丝)的通讯录中,订阅号将被放入订阅号文件夹中。

5.订阅号不支持申请自定义菜单。

URL配置

启用开发模式需要先成为开发者,而且编辑模式和开发模式只能选择一个,进入微信公众平台-开发模式,如下:

需要填写url和token,当时本人填写这个的时候花了好久,我本以为填写个服务器的url就可以了(80端口),但是不行,主要是没有仔细的阅读提示信息,所以总是提示

从上面可以看出,点击提交后微信会向我们填写的服务器发送几个参数,然后需要原样返回出来,所以在提交url的时候,先在服务器创建接口测试返回echostr参数内容。代码:

1.//成为开发者url测试,返回echoStr

2.public void InterfaceTest()

3. {

4.string token = "填写的token";

5.if (string.IsNullOrEmpty(token))

6. {

7.return;

8. }

9.

10.string echoString = HttpContext.Current.Request.QueryStri

ng["echoStr"];

11.string signature = HttpContext.Current.Request.QueryStrin

g["signature"];

12.string timestamp = HttpContext.Current.Request.QueryStrin

g["timestamp"];

13.string nonce = HttpContext.Current.Request.QueryString["n

once"];

14.

15.if (!string.IsNullOrEmpty(echoString))

16. {

17. HttpContext.Current.Response.Write(echoString);

18. HttpContext.Current.Response.End();

19. }

20. }

在一般处理程序ashx的ProcessRequest的方法内调用上面的方法,url填写的就是这个ashx的服务器地址,token是一个服务器标示,可以随便输入,代码中的token要和申请填写的一致,成为开发者才能做开发。

创建菜单

我们添加一些微信服务号,聊天窗口下面有些菜单,这个可以在编辑模式简单配置,也可以在开发模式代码配置。微信公众平台开发者文档:

https://www.doczj.com/doc/e214554344.html,/wiki/index.php?title=自定义菜单创建接口,可以看到创建菜单的一些要点,下面的使用网页调试工具调试该接口,只是调试接口是否可用,并不是直接创建菜单的,菜单分为两种:

?click:用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互。

?view:用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url 值(即网页链接),达到打开网页的目的,建议与网页授权获取用户基本信息接口结合,获得用户的登入个人信息。

click菜单需要填一个key,这个是在我们菜单点击事件的时候会用到,view只是一个菜单超链接。菜单数据是json格式,官网是php示例,其实C#实现起来也很简单,就是post 发送一个json数据,示例代码:

1.public partial class createMenu : System.Web.UI.Page

2. {

3.protected void Page_Load(object sender, EventArgs e)

4. {

5. FileStream fs1 = new FileStream(Server.MapPath(".")+"\\me

nu.txt", FileMode.Open);

6. StreamReader sr = new StreamReader(fs1, Encoding.GetEncod

ing("GBK"));

7.string menu = sr.ReadToEnd();

8. sr.Close();

9. fs1.Close();

10. GetPage("https://https://www.doczj.com/doc/e214554344.html,/cgi-bin/menu/create?ac

cess_token=access_token", menu);

11. }

12.public string GetPage(string posturl, string postData)

13. {

14. Stream outstream = null;

15. Stream instream = null;

16. StreamReader sr = null;

17. HttpWebResponse response = null;

18. HttpWebRequest request = null;

19. Encoding encoding = Encoding.UTF8;

20.byte[] data = encoding.GetBytes(postData);

21.// 准备请求...

22.try

23. {

24.// 设置参数

25. request = WebRequest.Create(posturl) as HttpWebReques

t;

26. CookieContainer cookieContainer = new CookieContainer

();

27. request.CookieContainer = cookieContainer;

28. request.AllowAutoRedirect = true;

29. request.Method = "POST";

30. request.ContentType = "application/x-www-form-urlenco

ded";

31. request.ContentLength = data.Length;

32. outstream = request.GetRequestStream();

33. outstream.Write(data, 0, data.Length);

34. outstream.Close();

35.//发送请求并获取相应回应数据

36. response = request.GetResponse() as HttpWebResponse;

37.//直到request.GetResponse()程序才开始向目标网页发送Post请

38. instream = response.GetResponseStream();

39. sr = new StreamReader(instream, encoding);

40.//返回结果网页(html)代码

41.string content = sr.ReadToEnd();

42.string err = string.Empty;

43. Response.Write(content);

44.return content;

45. }

46.catch (Exception ex)

47. {

48.string err = ex.Message;

49.return string.Empty;

50. }

51. }

52. }

menu.text里面的内容就是json示例菜单,大家可以从示例复制下来,按照你的需要修改一些就行了。

关于access_token,其实就是一个请求标示,获取方式:

https://https://www.doczj.com/doc/e214554344.html,/cgi-bin/token?grant_type=client_credential&appid=appi d&secret=secret;appid和secret是开发者标示,在你的信息里面可以看到,通过这个链接返回一个json数据,就可以得到access_token值。

需要注意的是:access_token有一定的时效性,失效的话就需要重新获取下,这个在本机就可以创建,不需要上传到服务器,创建菜单正确,返回{"errcode":0,"errmsg":"ok"}提示信息。这边就不截图了,大家试下就可以看到效果,一般创建菜单是一到两分钟生效,实在不行就重新关注下。

查询、删除菜单

查询和删除菜单也很简单,只不过是get请求,不需要传数据,看下示例代码:

1.public partial class selectMenu : System.Web.UI.Page

2. {

3.protected void Page_Load(object sender, EventArgs e)

4. {

5. GetPage("https://https://www.doczj.com/doc/e214554344.html,/cgi-bin/menu/get?acces

s_token=access_token");

6.//GetPage("https://https://www.doczj.com/doc/e214554344.html,/cgi-bin/menu/delete?

access_token=access_token");

7. }

8.public string GetPage(string posturl)

9. {

10. Stream instream = null;

11. StreamReader sr = null;

12. HttpWebResponse response = null;

13. HttpWebRequest request = null;

14. Encoding encoding = Encoding.UTF8;

15.// 准备请求...

16.try

17. {

18.// 设置参数

19. request = WebRequest.Create(posturl) as HttpWebReques

t;

20. CookieContainer cookieContainer = new CookieContainer

();

21. request.CookieContainer = cookieContainer;

22. request.AllowAutoRedirect = true;

23. request.Method = "GET";

24. request.ContentType = "application/x-www-form-urlenco

ded";

25.//发送请求并获取相应回应数据

26. response = request.GetResponse() as HttpWebResponse;

27.//直到request.GetResponse()程序才开始向目标网页发送Post请

28. instream = response.GetResponseStream();

29. sr = new StreamReader(instream, encoding);

30.//返回结果网页(html)代码

31.string content = sr.ReadToEnd();

32.string err = string.Empty;

33. Response.Write(content);

34.return content;

35. }

36.catch (Exception ex)

37. {

38.string err = ex.Message;

39.return string.Empty;

40. }

41. }

42. }

access_token获取方式上面已经讲过了,查询菜单返回的是json数据,其实就是我们创建菜单的menu.txt里面的内容。

删除成功返回信息提示:{"errcode":0,"errmsg":"ok"},这个也只要在本地运行就可以了。

接受消息

微信公众平台开发者文档:https://www.doczj.com/doc/e214554344.html,/wiki/index.php?title=接收普通消息,我们使用微信就是要对用户发送的信息进行处理,这边以接受普通消息为例,语音、图片消息等,举一反三可得。

从文档上可以看出接受消息获得的是一个xml格式文件,当时有点犯傻的是,我要在哪边进行接受消息啊?还郁闷了半天,其实就是你一开始填写的url,是不是很汗颜啊,哈哈。

1.

2.

3.

4.1348831860

5.

6.

7.1234567890123456

8.

我们在ashx添加下面代码:

1.public void ProcessRequest(HttpContext param_context)

2. {

3.string postString = string.Empty;

4.if (HttpContext.Current.Request.HttpMethod.ToUpper() == "

POST")

5. {

https://www.doczj.com/doc/e214554344.html,ing (Stream stream = HttpContext.Current.Request.In

putStream)

7. {

8. Byte[] postBytes = new Byte[stream.Length];

9. stream.Read(postBytes, 0, (Int32)stream.Length);

10. postString = Encoding.UTF8.GetString(postBytes);

11. Handle(postString);

12. }

13. }

14. }

15.

16.///

17./// 处理信息并应答

18.///

19.private void Handle(string postStr)

20. {

21. messageHelp help = new messageHelp();

22.string responseContent = help.ReturnMessage(postStr);

23.

24. HttpContext.Current.Response.ContentEncoding = Encoding.U

TF8;

25. HttpContext.Current.Response.Write(responseContent);

26. }

messageHelp是消息处理帮助类,这边提供下部分代码,完整的可以下载来,获取的postString是xml,格式如上,我们这边只需要转换成XmlDocument进行解析就行了:

1.//接受文本消息

2.public string TextHandle(XmlDocument xmldoc)

3. {

4.string responseContent = "";

5. XmlNode ToUserName = xmldoc.SelectSingleNode("/xml/ToUser

Name");

6. XmlNode FromUserName = xmldoc.SelectSingleNode("/xml/From

UserName");

7. XmlNode Content = xmldoc.SelectSingleNode("/xml/Content")

;

8.if (Content != null)

9. {

10. responseContent = string.Format(ReplyType.Message_Tex

t,

11. FromUserName.InnerText,

12. ToUserName.InnerText,

13. DateTime.Now.Ticks,

14."欢迎使用微信公共账号,您输入的内容为:

" + Content.InnerText+"\r\n点击进入

");

15. }

16.return responseContent;

17. }

18.///

19./// 普通文本消息

20.///

21.public static string Message_Text

22. {

23.get { return @"

24.

25.

me>

26. {2}

27.

28.

29. "; }

30. }

上面的代码就是接受消息,并做一些处理操作,返回消息。

发送消息(图文、菜单事件响应)

这边发送消息我分为三种:普通消息、图文消息和菜单事件响应。普通消息其实上面说接受消息的时候讲到了,完整的代码下边下载来看。

我们先看下图文消息和菜单事件响应,微信公众平台开发者文档:

https://www.doczj.com/doc/e214554344.html,/wiki/index.php?title=回复图文消息

#.E5.9B.9E.E5.A4.8D.E5.9B.BE.E6.96.87.E6.B6.88.E6.81.AF,xml格式为:

1.

2.

3.

4.12345678

5.

6.2

7.

8.

9.<![CDATA[title1]]>

10.

11.

12.

13.

14.

15.<![CDATA[title]]>

16.

17.

18.

19.

20.

21.

图文消息分为两种,我们先看下效果,找的圆通速递的微信服务号做示例:

刚开始做的时候,我以为这两种应该不是用的同一个接口,但是在文档中找了半天也没有找到除这个之外的,就试了下两个图文消息,发现就是这个接口发送的,如果多个的话,item中的Description会失效,只会显示Title,大家试下就知道了,示例代码:

1.//事件

2.public string EventHandle(XmlDocument xmldoc)

3. {

4.string responseContent = "";

5. XmlNode Event = xmldoc.SelectSingleNode("/xml/Event");

6. XmlNode EventKey = xmldoc.SelectSingleNode("/xml/EventKey

");

7. XmlNode ToUserName = xmldoc.SelectSingleNode("/xml/ToUser

Name");

8. XmlNode FromUserName = xmldoc.SelectSingleNode("/xml/From

UserName");

9.if (Event!=null)

10. {

11.//菜单单击事件

12.if (Event.InnerText.Equals("CLICK"))

13. {

14.if (EventKey.InnerText.Equals("click_one"))//clic

k_one

15. {

16. responseContent = string.Format(ReplyType.Mes

sage_Text,

17. FromUserName.InnerText,

18. ToUserName.InnerText,

19. DateTime.Now.Ticks,

20."你点击的是click_one");

21. }

22.else if (EventKey.InnerText.Equals("click_two"))/

/click_two

23. {

24. responseContent = string.Format(ReplyType.Mes

sage_News_Main,

25. FromUserName.InnerText,

26. ToUserName.InnerText,

27. DateTime.Now.Ticks,

28."2",

29.string.Format(ReplyType.Message_News_Ite

m,"我要寄件","",

30."https://www.doczj.com/doc/e214554344.html,/orderPlace.jpg",

31."https://www.doczj.com/doc/e214554344.html,/")+

32.string.Format(ReplyType.Message_News_Ite

m, "订单管理", "",

33."https://www.doczj.com/doc/e214554344.html,/orderManage.jpg",

34."https://www.doczj.com/doc/e214554344.html,/"));

35. }

36.else if (EventKey.InnerText.Equals("click_three")

)//click_three

37. {

38. responseContent = string.Format(ReplyType.Mes

sage_News_Main,

39. FromUserName.InnerText,

40. ToUserName.InnerText,

41. DateTime.Now.Ticks,

42."1",

43.string.Format(ReplyType.Message_News_Ite

m, "标题", "摘要",

44."https://www.doczj.com/doc/e214554344.html,/jieshao.jpg",

45."https://www.doczj.com/doc/e214554344.html,/"));

46. }

47. }

48. }

49.return responseContent;

50. }

51.///

52./// 图文消息主体

53.///

54.public static string Message_News_Main

55. {

56.get

57. {

58.return @"

59.

60.

me>

61. {2}

62.

63. {3}

64.

65. {4}

66.

67. ";

68. }

69. }

70.///

71./// 图文消息项

72.///

73.public static string Message_News_Item

74. {

75.get

76. {

77.return @"

78. <![CDATA[{0}]]>

79.

>

80.

81.

82. ";

83. }

84. }

需要注意的是:XmlNode Event = xmldoc.SelectSingleNode("/xml/Event")表示获取的是事件类型,XmlNode EventKey = xmldoc.SelectSingleNode("/xml/EventKey")表示事件标示,就是我们创建菜单添加click的key,通过key我们就可以判断出是点的哪个菜单。

还有一点是回复超链接,有时候在服务号会发送一些链接,我们打开直接就会链接到相关网址,只需要在回复内容中添加:点击进入,就可以了。

示例Demo下载

下载地址:https://www.doczj.com/doc/e214554344.html,/s/1i3kMpwh

后记

关于微信公众平台当然还有许多其他的东西,本篇只是一些经验之谈,希望可以起到抛砖引玉的作用。有时候我们发现一些新鲜事物,觉得很难,就远远的看着,如果你用心的去感受它,其实也就这么回事。

微信公众平台开发者中心自定义接口

微信开发者平台自定义接口 一.主接口文件mcinterface.Php getMsg(); } else { $weixin->valid(); } $type = $weixin->msgtype; $username = $weixin->msg['FromUserName']; switch ($type) { case "event": // 事件判断 $results = $chaxun->handleEvent($weixin); break; case "text": // 用户文本 $keyword = $weixin->msg['Content']; $results = $chaxun->usrMsg($keyword, $username); // $results=$chaxun->search($keyword); break; case "image": $keyword = "image"; $results = $chaxun->help($keyword); break; case "location":

如何进行微信公众号的开发

目录 1 微信公众号开发相关资料 (2) 1.1 微信公众号相关技术介绍 (2) 1.1.1 微信公众号类型 (2) 1.1.2 SAE环境搭建 (3) 1.1.3 BAE环境搭建 (4) 1.1.4 微信公众平台管理后台 (5) 1.2 微信开发者模式 (7) 1.2.1 开发者模式 (7) 1.2.2 设置开放者程序锁部署的服务器URL地址 (8) 1.3 QQ表情的发送与接收 (9) 1.3.1 QQ表情代码表 (9) 1.3.2 公众帐号向用户发送QQ表情 (13) 1.3.3 公众帐号识别用户发送的QQ表情 (14) 1.3.4 向用户发送图文消息(也就是回复图文消息) (14) 1.4 微信网页授权获取用户基本信息 (15) 1.4.1 OAuth2.0 (15) 1.4.2 配置授权回调页面域名 (17) 1.4.3 微信网页授权 (20) 1.5 创建自定义菜单 (26) 1.5.1 自定义菜单的基本特性 (26) 1.5.2 创建自定义菜单 (30)

1微信公众号开发相关技术资料 1.1微信公众号相关技术介绍 1.1.1微信公众号类型 1、微信公众号有三种类型 微信公众平台的核心是与用户的互动,在互动中为用户提供服务,在服务中产生价值。(1)订阅号 订阅号为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。对于媒体和个人,可选用订阅号。 (2)服务号 服务号给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的公众号服务平台。对于企业和组织,可选用服务号。 (3)企业号 开发微信推荐选择“服务号”可获取菜单接口等权限,“订阅号”接口权限极低,账号类型选择后无法修改。服务号每月只能群发4条消息;订阅号每天可发一条,但消息被折叠到订阅者分类中。 2、微信有两大公众平台分别为:开放平台和公众平台。 (1)开放平台

微信公众平台接口开发指南

微信公众平台接口开发指南 注册成为开发者 注册公众账号,需要登记自己的真实身份信息 注意:设置公众号信息时一定要谨慎,‘公众号名称’与‘微信号’填写后是不能修改的,需事先认真想好 注册完成后,进入系统,选择导航上的‘高级功能’ 其中有两个模式:‘编辑模式’与‘开发模式’ 默认开启的为‘编辑模式’ 进入‘编辑模式’,点击右上角的‘关闭’链接

进入‘开发模式’,点击右上角的‘开启’按钮 开启后可以看到: 点击‘成为开发者’ URL、TOKEN认证 成为开发者的第一步就是填写URL、TOKEN信息,来对你服务器进行验证1)把下面代码复制并保存为一个php文件(如weixin.php) valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"];

//valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDA TA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = " %s 0 "; if(!empty( $keyword )) { $msgType = "text"; $contentStr = "Welcome to wechat world!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit;

微信公众平台委托开发合同

微信公众平台委托开发合同 甲方:乙方: 经甲、乙双方友好协商,就甲方所需微信服务达成以下共识。双方申明、双方都已理解并认可了本协议的所有内容,同意承担各自应承担的权利和义务,忠实地履行本协议。 第一条:服务内容: 基础服务 1.编写企业公众账号介绍;编写欢迎语; 2.根据企业要求,基于微信公众平台为企业配置自动回复; 3.设置头像及二维码; 4.微信代认证服务(需企业配合提供相关资料)。 具体功能开发及实施项目(在□中打√做选择) 第二条:合同金额及付款方式 1.本合同金额总计:人民币元整。大写万仟佰拾元整。

2.甲方需在签订合同后一次性支付合同金额%的预付款给乙方,合计元(大写:万仟佰拾 圆整)。 3.甲方在验收之后3个工作日内向乙方支付合同剩余金额元;(大写:万仟佰拾圆整)。 第三条:乙方的权利和义务 1.乙方提供专人与甲方联络。 2.乙方按合同相关约定,为甲方提供微信营销服务。 3.在合作期间,如未征得甲方同意,乙方不得擅自改变微信企业信息。 4.在要求的期限内,完成合同规定项目,并通知甲方进行验收。 5.乙方针对甲方约定的服务达标时应及时通知甲方,甲方也应即时通过互联网查看效果确 认,如甲方未能即时确认,则该服务的合同生效日以乙方发出通知的第一周为准。 6.乙方不得将甲方提供的资料传播、出售给第三方。 第四条:甲方的权利和义务 1.甲方提供专人与乙方联络。 2.甲方必须保证微信信息的合法性和真实性,如因此引起纠纷,乙方不承担任何法律责任 3.合同签订后,甲方提供微信账号以及密码等各种必要的资料和授权。 4.按照合同的约定,及时支付费用。如因乙方过错未能如期完成合同约定内容,甲方有权 要求终止,并按未完成服务项目,要求乙方退还相应款项。 5.合作期间甲方不得将乙方策划的微信活动信息复制、传播、出售或许可给其它第三方。 6.甲方保证不利用乙方提供的软件服务进行传播违反法律的信息活动,否则乙方将有权立 刻停止对甲方提供的系统服务。 7.甲方需按时将代管费用交予乙方,甲方不得拖延交费; 8.甲方提供的更新、维护资料、方案需详细完整;由于甲方提供的资料不完整导致乙方更 新推送的内容后所造成的损失由甲方自行负责。 第五条:验收标准 1.乙方应以电话、传真以及电子邮件提供开发运营结果。 2.运营结果达到到约定效果即为验收合格。

微信公众平台快速上手教程

微信公众平台快速上手教程Part1 注册账户与认证 刘子骏微信微博营销微信, 微信公众平台17Comments发表评论 这段时间越来越多朋友和客户开始关注微信,我收到大量咨询微信公众平台在哪里注册等相关问题,所以不如写篇教程出来,以后大家看教程就可以了,本教程会根据微信最新变动而不断修改和完善的。 注册前最好做好以下准备: 1、想一个容易给客户识别和方便记忆的中文名称,毕竟用户通过中文名称搜索的频率是最高的,而且最好是品牌名,或者是企业名称的缩写,例如广州火鹰信息科技有限公司,注册名就可以改成火鹰科技,这样方便记忆也方便查询。如果你想加大被搜索几率,可以在名称后面加入主营业务信息,例如卡斯玛男装或卡斯玛正装,这样用户搜男装或正装都有机会找到你。这里还有一点要特别注意的是微信公众平台的名称注册后是不能修改的,所以填写时一定要先谨慎考虑。 2、准备好身份证正背面的扫描件 3、设计好微信头像图片,一般300×300像素就可以了 然后就可以直接登录https://www.doczj.com/doc/e214554344.html,/就可以开始注册。 点击注册按钮后进入注册界面

以前微信是强制要求使用QQ账户登陆注册的,现在改成了随便使用一个可以收发邮件的邮箱就可以注册了。完成这一步会提示需要到注册邮箱激活账户!

点击邮件的激活链接后,会出现以下页面,这也是微信公众账户注册的第三步,这就需要之前提到的身份证扫描件(特别提示一下,一个身份证可以注册5个帐号。),还需要用手机进行短信验证。该页面除了个人住址和单位地址是可以不填之外,其他都必须填写,而且资料一定要真实,否则微信日后检查发现资料有问题会随时有封号的危险,当你填写完成后,系统也会提醒说明的。

微信公众平台的Java的开发详解工程代码解析

说明: 本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让初学者尽快上手。 在阅读本文之前,应对微信公众平台的官方开发文档有所了解,知道接收和发送的都是xml格式的数据。另外,在做内容回复时用到了,这是一个自然语言解析的开放平台,可以帮我们解决整个微信开发过程中最困难的问题,此处不多讲,下面会有其详细的调用方式。 在登录微信官方平台之后,开启开发者模式,此时需要我们填写url和token,所谓url就是我们自己服务器的接口,用来实现,相关解释已经在注释中说明,代码如下: [java] 1.package; 2.import 3.import 4.import 5.import 6.import 7.import 8.import 9.import 10.import 11.import 12./** 13.*微信服务端收发消息接口 14.* 15.*@authorpamchen-1 16.* 17.*/ 18.publicclass WechatServlet extends HttpServlet{ 19./** 20.*ThedoGetmethodoftheservlet.
21.*

22.*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget. 23.* 24.*@paramrequest 25.*therequestsendbytheclienttotheserver 26.*@paramresponse 27.*theresponsesendbytheservertotheclient 28.*@throwsServletException 29.*ifanerroroccurred 30.*@throwsIOException 31.*ifanerroroccurred 32.*/ 33.publicvoid doGet(HttpServletRequestrequest,HttpServletResponseresponse) 34.throws ServletException,IOException{ 35.("UTF-8"); 36.("UTF-8"); 37./**读取接收到的xml消息*/ 38.StringBuffersb=new StringBuffer(); 39.InputStreamis=(); 40.InputStreamReaderisr=new InputStreamReader(is,"UTF-8"); 41.BufferedReaderbr=new BufferedReader(isr); 42.Strings=""; 43.while((s=())!=null){ 44.(s); 45.} 46.Stringxml=();rocessWechatMag(xml); 47.} 48.try{ 49.OutputStreamos=(); 50.("UTF-8")); 51.(); 52.(); 53.}catch(Exceptione){ 54.(); 55.} 56.} 57./** 58.*ThedoPostmethodoftheservlet.
59.* 60.*Thismethodiscalledwhenaformhasitstagvaluemethodequalsto 61.*post. 62.* 63.*@paramrequest 64.*therequestsendbytheclienttotheserver 65.*@paramresponse

微信公众平台升级大高级接口功能解读

微信公众平台升级 9大高级接口功能解读 微信刚刚更新公众平台,向服务号开放微信认证,开放 9 大高级接口,增加开发者问答系统,并对微信公众平台的后台管理界面进行改版。其中最受关注的是微信向开发者开放的九大高级接口。 这些接口为: 1.语音识别接口 2.客服接口 网页授权接口 4.生成带参数的二维码接口 5.获取用户地理位置接口 6.获取用户基本信息接口 7.获取关注者列表接口 8.用户分组接口 9.上传下载多媒体文件接口 微信开放这些接口有什么意义 1. 语音识别 功能描述:通过语音识别接口,用户发送的语音,将同时给出语音识别出的文本内容。 实用意义:第三方可以调用微信自主研发的语音识别技术。意味着微信向第三方开放语音识别技术,直接调用语音识别接口,对语音识别结果进行互动或根据识别的内容进行自动答复。

2. 客服接口 功能描述:通过客服接口,公众号可以在用户发送过消息的 12 小时内,向用户回复消息。 实用意义:以前公众帐号跟订户只能被动响应,比如用户触发了需求,如发送关键字给公众帐号,后者才可以与用户对话。如今,如果订户跟公众帐号对话过一次,公众帐号就可以在 12 个小时内持续给用户下发消息。这提高了公众帐号发送消息的能力。 3. OAuth 网页授权 功能描述:通过网页授权接口,公众号可以请求用户授权。 实用意义:这就像微博、QQ的帐号授权功能。这意味着微信帐号正式成为一个帐号系统。 4. 生成带参数二维码 功能描述:通过该接口,公众号可以获得一系列携带不同参数的二维码,在用户扫描关注公众号后,公众号可以根据参数分析各二维码的效果。 实用意义:举例来说,以前放一个二维码在网站或者线下的广告牌,效果都是一样的:获得关注用户。现在可以分析订户来自哪里。开发者可以在链接里设置特殊信息,做更多的数据分析。这一功能也可以用来做帐号绑定, 5. 获取用户地理位置 功能描述:通过该接口,公众号能够获得用户进入公众号会话时的地理位置。 实用意义:两种情况可以获得用户地理位置:一是与公众帐号“会话时”,二是在会话界面“每隔 5 秒”。在用户同意下,这就可以做微信导航或地理围栏方面的服务。 6. 获取用户基本信息 功能描述:通过该接口,公众号可以根据加密后的用户 OpenID,获取用户基础信息,包括头像、名称、性别、地区。

微信公众号的基础建设与规划

干货!微信公众号的基础建设与规划 笔者发现很多刚入门的微信公众号从业者对微信没有一个基本的了解,都是自己一步一步误打误撞的走过来。而现在很多文章没有那么全面的介绍微信运营的基础建设,所以这篇文章就会将微信公众号的基础建设与规划做一个细致的入门讲解。微信公众号的区别在哪里? 很多刚入门的微信从业者都会遇到一个问题,不知道应该用服务号还是订阅号,总是纠结到底是注册一个呢,还是2个都注册。 微信官方目前一共提供了3种类型的公众号:订阅号、服务号、企业号。 订阅号:适合企业组合和个人,每天可以群发一条信息,具备信息传播、媒体资讯传播、品牌宣传的作用,开放部分高级接口。 服务号:适合于企业以及组织,并且需要具备开发能力。每月只能群发4条信息,具备客户管理功能,提供强大的产品功能服务,支持微信支付,构建电商体系,拥有微信全部高级接口。 企业号:适合企业组织以及事业单位,是企业的OA移动办公平台,打通员工关系,上下游合作关系。可无限推送企业信息,但是关注有限制,拥有部分高级接口,并且折叠进“企业号”列表。微信运营者在开通微信时根据自己的情况来选择到底开通什么账号。 微信公众号如何定位? 微信公众号的定位要从企业自身或者个人出发进行定位,你的企业有什么产品,个人自媒体能提供什么样的资讯,覆盖用户的特征,企业的规模等等都需要考虑进行,例如创建账号前,你要先确定账号的ID、名称、头像以及描述,这些都属于根据企业的特征来定,还需要符合用户的习惯,例如在名称上,需要符合用户的搜索习惯以及偏好,这样才能增加曝光率和关注度。ID也需要简短明确与名称相符合。 在微信的公众号搜索里有这样的搜索排序规则:搜索关键词>微信认证>注册时间>粉丝互动情况。在内容定位上,也需要分清楚自身所能所能提供的内容,例如你能提供售前售后,产品的预定销售,服务咨询等等,或者媒体资讯类的你能提供幽默搞笑的,专业技术的或者时事热点等等,都需要对自己有明确的定位,然后再去建设你的公众号,这样才能形成自己的鲜明特色。

微信公众平台开发合同

技术开发(委托)合同 项目名称: 委托方(甲方): 受托方(乙方): 签订时间:__________________ 技术开发(委托)合同 委托方(甲方): 公司地址: 法定代表人: 项目联系人: 联系方式:

通讯地址: 电话: 电子信箱: 受托方(乙方): 公司地址: 法定代表人: 项目联系人: 联系方式: 电子信箱: 本合同甲方委托乙方研究开发_________________ 项目,并支付研究开发经 费和报酬,乙方接受委托并进行此项研究开发工作。双方经过平等协商,在 真实、充分地表达各自意愿的基础上,根据《中华人民共和国合同法》的规定,达成如下协议,并由双方共同恪守。 第一条本合同研究开发项目的要求如下: 项目开发的内容:项目的详细需求见附本《微信公众开

发内容》。 第二条乙方在合同生效后5个工作日,需配合甲方确定项目范围与功能。 第三条乙方按下列进度完成开发工作,如果甲方在开发过程中需求变更,乙方根据甲方变更内容,协商时间进度。 第四条甲方应向乙方提供的技术资料及协作事项如下: 技术资料清单。 提供时间和方式:按乙方需求提出三个工作日内 其他协作事项:配合开发需求调研工作,协助门户所需要的材料。 本合同履行完毕后,上述技术资料按以下方式处理:归甲方所有。 第六条甲方应按以下方式支付研究开发经费和报酬: 1.研究开发经费Y 元。 2.研究开发经费由开发费用与每年维护费用组成。开发经费包括一年的维护 费(软件BUG解决,系统简单升级与培训,服务器空间的 提供) 3. _____________ 维护费元/月,开发一年后甲方每一季度(三个月)初把 维护费打到乙方的账号上。(维护费包括:WEB服务器与维护、数据库服务器 与维护、微信运营费用、以及版本升级维护) 5.支付方式。 合同签订,并确认方案的3个工作日以内以现金(或电汇)方式付开发 费用(即Y ____ 元,大写:_____________ 。

微信公众平台基本操作

微信公众平台基本操作 目录 第一章微信公众账号注册、设置、登陆 第二章微信公众平台后台介绍 第三章微信公众平台群发消息 第四章微信公众平台编辑模式 第一章 微信公众账号注册、设置、登陆 一注册前准备工作: 1 、一个没有注册过公众账号的邮箱,如果是QQ邮箱,那么,对应的QQ号也要没有注册过公众账号; 2、手持身份证并拍照,每个身份证可以注册5个公众账号; 3、手机,用来接受注册验证码; 4、想好公众账号名称,非常重要,一旦申请成功名称不能修改,等公众号到500粉丝后可以自助认证。 二进入注册网页 通过【百度】搜索:公众平台登陆,然后双击,就会进入网页:https://www.doczj.com/doc/e214554344.html,。 1、单击立即注册,进入注册页面 2、填写注册信息 第一步:注册基本信息(需要一个邮箱) 第二步打开邮箱,双击链接 第三步信息登记仔细阅读《微信公众平台信息登记说明》按照图示格式,拍照,上传;并填写所需要填写的资料信息 第四步选择类型微信公众平台订阅号和服务号的主要区别: 1 服务号可以申请自定义菜单,而订阅号不能,一个月只能群发四条信息,群发信息的时候,用户手机会像收到短信一样接收到信息,显示在用户的聊天列表当中。 2微信公众平台订阅号主要是提供信息和资讯,一般媒体用的比较多,每天都可以群发一组群发信息,群发信息时候,手机微信用户将不会收到像短信那样的消息提醒,只是在订阅

号文件夹中显示,如果你不去点击查看,是看不到信息的! 第五步公众号信息特别说明:名称与微信号,一旦注册,不可更改。 三微信公众账号设置 1、首先是设置头像,企业的可以直接拿自己LOGO图像上传,应用类或者个人类的可以根据自己公众账号定位来设计一个头像。 2、头像需要注意的是微信公众账号头像会有两个样子,一个是方的一个是圆的,圆的那个头像很容易切掉图像或者文字,在设计的时候就要考虑好。 3、功能介绍根据账号定位来设置,建议文字不要超过40个字,以账号服务内容为主,力求让用户在关注你前就了解到你的账号是干什么的,不要写公司介绍。 4设置公众账号的微信号,长度必须在6位以上,填写后也是不能修改的,大小写没有关系,用户搜索时都是按照小写字母来搜索的。要注意的是尽量少用下划线、减号和数字,减少用户切换键盘的动作,是因为下划线和减号用户容易输错。 5设置→公众助手(方便在手机上群发和接收、回复消息) 四、微信公众账号登陆 1、公众账号登陆还是从https://www.doczj.com/doc/e214554344.html,进入,点击右上角的登陆后弹出窗口,提示有三种登陆方式:QQ号、微信号和注册邮箱,但是目前只能使用微信号和注册邮箱登陆。 2、登陆成功以后就进入了微信公众平台后台首页了 第二章 微信公众平台后台介绍 一、微信公众平台后台首页 1点击用户管理和实时消息两个导航选项后新增加的用户数和消息数后,这些数据就分别清零,直到再有新的用户关注和新的消息回复。 2、最近7天的每日新增订阅用户数(每天新增用户数=每天实际新增用户数- 每天退订用户数)。 3、最近7天的每日公众平台接受到的用户消息数,包括自定义回复能够回复的和不能回复的。消息数的波动一般是根据群发内容的好坏或者活动调查发起等互动产生起伏。

微信公众平台开发方案书

微信公众平台开发方案书 二十一世纪,全社会的信息化建设将进入一个高速发展的阶段。政府机关的网络化、信息化建设是推动中国因特网全面发展的基础。从世界范围来看,推进政府部门办公自动化、网络化、电子化,全面信息共享已是大势所趋。联合国经济社会事务部把推进发展中国家政府信息化作为今年的重点,希望通过信息技术的应用改进政府组织,重组公共管理,最终实现办公自动化和信息资源的共享。而在世界各国积极倡导的“信息高速公路”的五个应用领域中,“电子政府”被列为第一位,其它四个领域分别是电子商务、远程教育、远程医疗、电子娱乐。 第一章系统总体设计原则 一、微信调用的网站建设 微信公众平台的总体建设目标是:在互联网树立形象,向全社会提供高效优质、规范透明和全方位的管理与服务,提高办事效率和政府工作人员的信息化水平。建设成为便民服务的“窗口”,帮助人们实现足不出户就可以完成与政府各部门的办事程序,为建设“电子政府”打下坚实基础。 二、微信调用网站程序设计原则 微信公众平台开发系统的基本原则是以系统总体目标为宗旨,为用户提供一个技术先进,成熟可靠,灵活适用,性能优秀的调用系统。因此,系统设计将遵循如下原则: 2.1 开放性: 系统在设计时考虑到功能的可扩展性与维护的方便性,使用的操作平台类型,应用服务器、编程语言和数据库,将遵循通用性、开放性,以期达到减少后续功能

增加,修改的难度,减少由于维护方、后续服务方的变更,带来系统二次开发、维护的难度。 2.2 先进性: 采用目前国际上最先进的数据库技术,PHP开发,mysql作为网站后台数据库。这个组合在测试权威e-Week的测试中显示具有最优性能。采用这些技术是完全基于微软平台进行开发,降低了以后的系统运营成本,提高了系统的稳定性和易维护性! 2.3 高性能: 本系统的硬件搭配,微信公众平台能够充分胜任对大量事物处理的要求和信息量不断增长的要求。 2.4 实用性: 微信公众平台以中心需求为目标,以方便用户为原则,在吸取先进管理经验的基础上,量身定做;在统一的用户界面下提供各种实用功能,尽可能降低使用前的培训和使用中的维护投入。提供微信前端网页开发的无逢连接。 2.5 安全性: 充分考虑系统及数据资源的容灾、备份、恢复的要求。为系统提供强大的数据库备份工具。充分考虑政府网站的安全要求,作到内外网分离,信息发布管理责任到人。 二、微信所学网站页面设计原则 1、突出网页的美观度,要求布局合理,页面清晰美观。 2、形式新颖,结构清晰,内容丰富,技术运用合理,浏览方便快捷。 3、方便调用

微信公众平台接口功能实现

微信公众平台接口功能 实现 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

我用微信公众平台做什么 公司员工管理 地理位置5秒定位考勤 实现对员工(物品)的跟踪定位(物流等) 不同权限员工基本信息维护 客户信息管理 客户信息维护(基础资料、分组) 客户新增量、亲密度统计 地理位置定位关键词周边搜索找最佳(实物、路线)方案 我在北京海淀,我要找你家最近分店 公司业务管理 自定义菜单页面链接公司业务主页推广 自定义菜单关键字药厂药品分类某一信息价格预定 每日群发业务知识拓展培训、活动通过图文发送专题,业务介绍,疑难解惑等,通过语音、视频发送教学培训及等甜瓜蜜糖。 客户服务管理 网页授权在公司相关网页参加活动、订购等服务自动统计, 根据客户对不同页面(如书城)的浏览或参与关注度,对相应客户对症下药自定义菜单想做什么点击就好不满足需求咱还能手打找客服 客服:客户发送信息24小时内可享受公众端客服(文本、图文、语音、视频等)

人机对话:使用Lucene对客户信息全文检索,高精度匹配回复资料。自学,不断完善数据信息,提高交流水平,针对特殊情况自转客服。 其他服务 百度文库对申请者开放API,可以考虑引进知识课堂,自动检索关键字文章,并提供你也许喜欢的文章,在线阅读。作为核心用户告你一声,好东西还是要收费的! 最重要的自然是在线支付,轻轻一点,客户方便,商家也可建立网上商品销售管理系统。根据不同数据统计自由调整,对老客户也可进行‘特殊’照顾绑定微博、空间等定时发送红包信息,附带二码,人气饱饱的 公众可以在短时间生成批量临时二维码,进行客户绑定等便捷服务 公众也可创建永久二维码,方便对不同来源客户进行归类统计 语音识别,可以帮己也可以帮人,不是吗? 现在你就是中午订个饭,人家都要让你扫一扫,不管做什么,带上公司二维码,你说不清楚的业务,直接让客户扫一扫自定义菜单查看详情也是种策略。

微信公众平台入门到精通Vol精编版

微信公众平台入门到精 通V o l GE GROUP system office room 【GEIHUA16H-GEIHUA GEIHUA8Q8-

紧接着14期的内容,在基本规划做好以后咱们先把数据库建好。昨天有人建议我按照QQ 企业邮箱的来做,这个可能太复杂了,怕大家更加迷茫,我做案例更多是希望朋友们通过案例举一反三,从简单的产品推导出复杂的应用。 第十四章公司通讯录开发 二、公司通讯录数据库建立 第13期里有SAE数据库的介绍,如果没有开通的请先移步把SAE的数据库服务开启,点击“管理MySQL”进入到数据库的图形管理界面,如下图: 数据库里目前没有任何数据表,所以我们先来建立第一张数据表“员工表”,取名为“roster”,员工表我调整了下结构增加了几项,最后的项目为:序号、姓名、工号、照片、性别、生日、手机、电话、部门、邮箱、微信号、微信OPENID、员工状态、入职日期、添加时间、更新时间、记录状态。 在建表之前其实还要设定每个字段项的属性,我这里简单写一下,后面在解释建表的时候大家可以参照看: 字段名类型长度其他 序号数字 5 自增、主键 姓名字符 10 工号字符 10

照片字符 50 性别数字 1 0为女,1为男 生日日期 手机字符 15 电话字符 15 部门数字 4 邮箱字符 50 微信字符 30 openid 字符 50 员工状态数字 1 1为在岗,-1为离职 2为休假 入职日期 添加时间 更新时间 记录状态数字 1 1为正常0为删除

字段数根据上面的规划应该是15个字段,所以应该填写15,但我这里填写3是为了后面切图片和讲解的方便,大家如果填写15看到的样式会不同,没有关系,另外建立过程中还可以增加字段数的。 点击执行按钮,就切换到表设计界面,如下图: 在上图中每一列就是一个字段,如果大家前面填写字段数超过5的则视图中每一行就是一个字段,但不管如何显示,每个字段都有下面这些属性: 1.字段名称,用来描述字段的名称,它可以用中文、英文字母、数字等字符来描述。 但是建议不用中文或者纯数字,命名最好使用表名+下划线+该字段的英文名或者拼音缩写。 2.字段类型,用来限定数据格式,同一字段的数据类型都是一样的。点击类型的选项 菜单会出来一大堆,不用怕很多我们是不太会用的,常用到的类型如下: TINYINT:一个很小的整数。有符号的范围是-128到127,无符号的范围是0到 255。 SMALLINT:一个小整数。有符号的范围是-32768到32767,无符号的范围是0到 65535。 MEDIUMINT:一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。

微信公众平台开发营销服务合同1

微信服务合同 甲方:乙方: 经甲、乙双方友好协商,就甲方所需微信服务达成以下共识。双方申明、双方都已理解并认可了本协议的所有内容,同意承担各自应承担的权利和义务,忠实地履行本协议。 第一条:服务内容: 基础服务 1.为企业开通公众账号; 2.编写企业公众账号介绍;编写欢迎语; 3.根据企业要求,基于微信公众平台为企业配置自动回复; 4.设置头像及二维码; 5.微信代认证服务(需企业配合提供相关资料)。 具体功能开发及实施项目(在□中打√做选择)

第二条:合同金额及付款方式 1.本合同金额总计:人民币元整。大写万仟佰拾元整。 2. 签订合同后一次性支付合同金额 %的预付款给乙方,合计元(大写:万仟佰拾圆整)。 3.甲方在验收之后3个工作日内向乙方支付合同剩余金额元;(大写: 万仟佰拾圆整)。 第三条:乙方的权利和义务 1.乙方提供专人与甲方联络。 2.乙方按合同相关约定,为甲方提供微信营销服务。 3.在合作期间,如未征得甲方同意,乙方不得擅自改变微信企业信息。 4.在要求的期限内,完成合同规定项目,并通知甲方进行验收。 5.乙方针对甲方约定的服务达标时应及时通知甲方,甲方也应即时通过互联网查看效果确 认,如甲方未能即时确认,则该服务的合同生效日以乙方发出通知的第一周为准。 6.乙方不得将甲方提供的资料传播、出售给第三方。 第四条:甲方的权利和义务 1.甲方提供专人与乙方联络。 2.甲方必须保证微信信息的合法性和真实性,如因此引起纠纷,乙方不承担任何法律责任 3.合同签订后,甲方提供微信账号以及密码等各种必要的资料和授权。 4.按照合同的约定,及时支付费用。如因乙方过错未能如期完成合同约定内容,甲方有权 要求终止,并按未完成服务项目,要求乙方退还相应款项。 5.合作期间甲方不得将乙方策划的微信活动信息复制、传播、出售或许可给其它第三方。 6.甲方保证不利用乙方提供的软件服务进行传播违反法律的信息活动,否则乙方将有权立 刻停止对甲方提供的系统服务。

微信公众平台消息接口API指南

简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式。微信公众平台消息接口为开发者提供与用户进行消息交互的能力。对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使用http请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回复消息的目的。 申请消息接口 点击申请,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。 网址接入 公众平台用户提交信息后,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。 signature结合了开发者填写的token参数和请求中的timestamp参数、nonce 参数。 加密/校验流程: 1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信消息推送 当普通微信用户向公众账号发消息时,微信服务器将POST该消息到填写的URL 上。结构如下: 文本消息 1348831860 1234567890123456

微信公众平台开发教程

微信公众平台视频教程 一、注册并登录接口(这里里以微小信平台https://www.doczj.com/doc/e214554344.html,/WxUser/login 为 例) 二、添加公众号 如何获取微信初始ID? 企鹅:328258258获取微信开发教程激活码:https://www.doczj.com/doc/e214554344.html,/course/79

页面上的gh_xxxxxxxxxxxx就是初始id,不过我想,这么难记的id,大家肯定都修改了。 但偏偏我们还需要使用它,比如我们要加入微信导航网站,比如我们要制作艺术二维码,比如我们要做微信互推等等,都是需要使用微信初识id的。 你修改时没保存吧,没关系的,我告诉大家如何查找微信初始id。 ?首先,登陆微信公众平台。 ?设置/个人设置。 ?下载二维码。 这里请不要使用右键另存为,一定要直接点击下载。 ?弹出对话框。

注意,图示中这个二维码的文件名是:qrcode_for_gh_d019da958e55_430.jpg 去头去尾,gh_d019da958e55就是该微信公众号的原始id。 或者找到你刚下载保存的文件。 也可以看到gh_xxxxxxxxxxxx的字样,复制该字段即可。 三、点配置接口

记下接口地址和Token,然后勾选下面列出的功能(在第七个部分会用到) 四、登录微信公众平台(https://www.doczj.com/doc/e214554344.html,/),进行身份认证,填写信息,提交身份证。 五、认证后,点击高级功能→进入开发模式

六、点击"成为开发者"按钮 七、填写接口配置信息 url和Token写刚才记下的(在第4个步骤上记得)

八、确认开启 九、在手机上用微信给你的公众号输入"功能",测试你的接口是否配置正常!

微信公众号开发协议(范文)

微信公众号开发及运营协议 合作双方: 甲方: 地址: 乙方: 地址: 一、总则 甲、乙双方经友好协商,本着平等、自愿、诚实、互惠互利的原则,就“微信公众号开发及运营”项目合作达成如下协议:甲方委托乙方进行微信公众号二次开发和微网站建设及后期维护,甲方向乙方支付技术开发费用及后期维护费。 二、双方权利与义务 2.1甲方权利义务 1. 甲方须配合乙方提供申请微信公众号的相关材料。 2. 本微信号内的客户信息资源归甲方所有,乙方不得擅自将甲方客户信息透露给第三方或者用于其他用途。 3. 甲方负责微信公众号的认证资料及费用。 2.2乙方权利义务 1. 甲方委托乙方进行微信公众号的相关技术开发。乙方配合甲方微信公众号的申请及认证(认证费甲方自理)。 2. 乙方开发的公众号具有以下功能和相关服务: 1)根据甲方要求,单独定制开发微网站整体模版模块。 2)在甲方微信内嵌入微网站,微网站具有图片及文字介绍功能,具体包括商家简介、重点推介、促销活动等页面。 3)提供各种营销活动的功能模块。 4)提供微网站后台编辑功能,能编辑网站的图片和文字,能编辑生成以上的活动模块,能自定义智能回复。 5)项目运行的服务器和相关网络服务由乙方提供,乙方保证网站的顺利

运行。 6)乙方负责微信公众号运营服务。 7)乙方每月四篇文章。乙方不得通过微信平台发布违法违规的内容。 3. 乙方在签订合同一个月内完成开发,保证微信公众号顺利上线使用。 三、费用 甲方支付乙方微信公众号壹年技术开发及后期运营费用共计人民币X万X仟X佰X拾X圆整(XXX.00 元)。 四、付款方式: 1. 本协议约定价格为含增值税价格。 2. 付款方式: 合同签订后,在乙方完成开发并交付给甲方后二十二个工作日内,甲方向乙方支付当年费用现金人民币共计X万X仟X佰X拾X圆整(XXX.00 元)。 3、甲方支付方式: 1)、乙方个人帐号 2)、乙方所开立的公司银行帐号如下: 户名:XX公司 开户行:XX支行 账号:XX 五、协议的生效 1、本协议自双方签字并盖章之日起生效。 2、本协议之修改须经双方以书面形式签署方为有效。其未尽事宜由各方在友好协商的基础上,另行订立补充协议,补充协议与本协议具有同等的法律效力。 3、本协议正本一式两份,双方各执1份,具有同等的法律效力。 六、协议的解除和争议解决 1、在协议履行过程中,发生以下情形之一,一方可在7日内书面通知对方

微信公共平台基础建设方案

沃种植(WooPlant)微信公众平台基础建设方案 1.背景 1-1微信公众平台在社会上十分普遍,且发送内容以图文信息为主; 1-2经统计,图文信息阅读量与客户互动量非常低。 1-3目前任务是做好内容填充和板块栏目的分类。 2.主体思路 以文字、图片、图文、语音、视频等多种方式进行轮换推送,以宣传和赋予现代农业和 科技农业知识,配合我种植app的种植发布方案为主要内容,并开展定期的线上活动。 微信公众号的基础框架建设: 账号的ID:WooPlant 名称:WooPlant 头像: 粉丝的互动上,提供了4种基础栏目: 首次关注回复:用户关注后会弹出的消息为:“你好,欢迎关注沃种植(WooPlant)微 信号” 消息回复:用户随意回复“了解更多请下载“沃种植”App” 自定义菜单: 子菜单子菜单子菜单 中的优秀种植方案图文页面推

关键词回复:1、未来配合相应的微信线上活动,进行关键字回复法则设置。 2、对于公众号提供的常用服务以及精品的推荐文章进行关键词设置,引导粉丝输入关键词就能提供相应的服务和文章。 3.目的 3-1增强沃种植App宣传效果 3-2增加与农业人群粉丝的互动和关注 3-3增强辅助沃种植App的营销作用 4、推送内容 4-1 文字 不定期发布一些重要的文字通知 4-2图片 不定期发送农业政策的图解。图片形式也可以用于此类方式也可以用于一些线上线下的活动推广,且内容简洁明了。 4-3图文 图文信息为推送方式,仅仅作为点缀穿插其他方式之间进行的发送。内容以农业趣闻、哲理散文、三农政策、农业咨询、时事评论调侃为主,可以外加我们的活动宣传。 根据不同内容形成专题: 标题前缀【农业政策】【沃禾发布】【农业技术】【种植方案】 4-4语音 可以将我们的活动或者宣传内容以文字形式编辑,由领导或同事进行录音和后期制作,以语音的形式进行发送,可以将田间地头的农民的趣闻、好玩的乡音以语音的形式推送。 4-5视频 录制公司领导、客户和产品的小视频进行对公司的宣传,录制配合“我种植”App软件的操作和使用方法进行软件操作的教学。 5、推送频率 不定期:文字、图片、语音、视频

微信公众平台开发定稿版

微信公众平台开发 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

微信公众平台开发 这段时间越来越多朋友和客户开始关注微信,微信平台开发也越来越火,自己也觉得这个比较有意思也就去了解了一下。现在和大家分享一下微信平台开发的模式。 一、接入微信公众平台 (1)申请消息接口。申请消息接口需要填写两个选项,一个是URL和T oken。 (2)验证URL有效性。开发者提交信息后,微信服务器将发送GET请求到填写的URL 上,GET请求携带四个参数:

通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,否则接入失败。 加密/校验流程如下: 1. 将token、timestamp、nonce三个参数进行字典序排序 2. 将三个参数字符串拼接成一个字符串进行sha1加密 3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 示例代码如下: function checkSignature(){ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN;//这个是自己定义的,也是配置的时候填写的token $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr );

相关主题
文本预览
相关文档 最新文档