最近微信公共账号很火

一、注册

去https://mp.weixin.qq.com/申请注册一个公共账号

根据提示一步一步将各种信息完整(官方客服问答:http://kf.qq.com/faq/120911VrYVrA130619v6zaAn.html)

二、账号类型

公共账号类型有两种:订阅号与服务号(详细区别见:http://kf.qq.com/faq/120911VrYVrA130805byM32u.html)

订阅号:为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。

服务号:给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的公众号服务平台。

主要区别:

1、服务号可以申请自定义菜单,而订阅号不能;

2、服务号每月只能群发一条信息,订阅号可以每天群发一条消息;

3、服务号群发的消息有消息提醒,订阅号群发的消息没有,并直接放入订阅号文件夹当中;

三、功能

1、群发功能:每月可手动群发一条信息(可图可文可语音视频)

2、高级功能:分为两类:编辑模式、开发模式(只可启用一种)

(a)编辑模式:指所有的公众号运营者都可以通过简单的编辑,设置“按关键字回复”等功能。您可以设定常用的文字/语言/图片/录音作为回复消息,并制定自动回复的规则。当订阅用户的行为符合自动回复规则的时候,就会收到自动回复的消息。

(b)开发模式:为开发者提供与用户进行消息交互的能力。对于成功接入消息接口的公众账号,当用户发消息给公众号,微信公众平台服务器会使用http请求对接入的网址进行消息推送,第三方服务器可通过响应包回复特定结构,从而达到回复消息的目的。

tip:微信公众平台编辑模式和开发模式互相切换后对原保存在内容不会做更改的,原来保存的内容是不会丢失的。

四、模式开发配置

1、服务器配置(用于接收用户信息)

需要绑定接受消息的URL与自定义的Token。

2、开发者凭据(用于)

只有服务号与通过微信认证的才会有AppId、AppSecre;

用于获取access_token。

具备以上2项,就可以自行开发。官方也有在线接口测试(http://mp.weixin.qq.com/debug)

tip:在线测试的所有操作皆会真实影响账号

3、下载sample

在 http://mp.weixin.qq.com/wiki/index.php?title=接入指南 连接中找到“PHP示例代码下载:下载”

将官方sample下载下来并且置于之前设置的URL的路径下(URL:http://www...../sample.php)

文件名可任意更改,只要与URL匹配就好;

五、代码讲解

1、验证

define("TOKEN", "weixin");//此处“weixin”改成在官网中自定义填写的Token
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();//验证方法,仅第一次验证时使用,成功验证后注释掉
//$wechatObj->responseMsg (); // 添加这句,验证成功后取消注释。此方法用于接收数据与发送数据

2、接收数据

public function responseMsg(){//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//extract post dataif (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;       //获取发送者账号(OpenID)$toUsername = $postObj->ToUserName;      //获取接受者账号$keyword = trim($postObj->Content);        //获取发送者发出的字符$time = time();                    //获取当前时间$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";             //此为文本回复的模板,可参照官网(皆为xml)if(!empty( $keyword ))//无论发什么,只要不为空{$msgType = "text";         //类型为文本回复$contentStr = "Welcome to wechat world!";//发送内容$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);//除了第一个参数外,剩下每个参数对应着$textTpl中每个%secho $resultStr;}else{echo "Input something...";}}else {echo "";exit;}}

在接收数据时,亦可再添加几句

$msgType = $postObj->MsgType;
$event = $postObj->Event;
$eventKey = $postObj->EventKey;

3、分类(详情请见官方文档)

(a)普通类型$msgType为(文本text、图片image、语音voice、视频video、地理位置location、连接ink)

(b)事件推送$msgType为event。

事件推送需根据$event再分类:

subscribe(订阅)、unsubscribe(取消订阅)、ticket(二维码,已关注为SCAN、为关注为subscribe)、LOCATION(地理位置)、CLICK(菜单点击事件:事件KEY值与自定义菜单接口中KEY值对应)、VIEW(菜单点击事件:事件KEY值为设置的跳转URL)

4、回复模板(http://mp.weixin.qq.com/wiki/index.php?title=发送被动响应消息)

1) 回复文本消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
</xml>

2 )回复图片消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<Image><MediaId><![CDATA[media_id]]></MediaId>
</Image>
</xml>

3 )回复语音消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<Voice><MediaId><![CDATA[media_id]]></MediaId>
</Voice>
</xml>

4 )回复视频消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<Video><MediaId><![CDATA[media_id]]></MediaId><Title><![CDATA[title]]></Title><Description><![CDATA[description]]></Description>
</Video>
</xml>

5 )回复音乐消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music><Title><![CDATA[TITLE]]></Title><Description><![CDATA[DESCRIPTION]]></Description><MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl><HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl><ThumbMediaId><![CDATA[media_id]]></ThumbMediaId>
</Music>
</xml>

6 )回复图文消息(第一个item为大图模式,item个数上线为10)

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>2</ArticleCount>
<Articles><item><Title><![CDATA[title1]]></Title> <Description><![CDATA[description1]]></Description><PicUrl><![CDATA[picurl]]></PicUrl><Url><![CDATA[url]]></Url></item><item><Title><![CDATA[title]]></Title><Description><![CDATA[description]]></Description><PicUrl><![CDATA[picurl]]></PicUrl><Url><![CDATA[url]]></Url></item>
</Articles>
</xml> 

微信公共账号开发(未认证服务号)相关推荐

  1. 微信公共账号开发:48001 api unauthorized解决

    微信公众平台开发:获取token成功并且拉取自定义菜单也OK,但是在拉取用户信息和分组信息 是总是出现这个 {"errcode":48001,"errmsg": ...

  2. 微信公共账号推广方法

    微信增加粉丝的绝招 "笑话百科(ID:xiaohuabaik)"团队敬上 好吧,我承认题目有点夸张,但任何事情都存在一定的方法!微信作为一个比较新的互联网产物,对很多人来说还是比较 ...

  3. 查询快递的微信公共账号

    今天中午找了个查询快递情况的API,晚上又无聊,就做了个查询快递的微信公共账号 <?php /*** wechat php test*///define your token define(&q ...

  4. 编程语言PHP实现微信公众账号开发

    编程语言PHP实现微信公众账号开发 1.首先需要一个可以外网访问的接口url. 我这里是申请的新浪免费云服务器,http://xxxxx.applinzi.com/wx.php,具体自己可以去新浪云中 ...

  5. ICCMO微信公众账号开发系列(2)打造微信聊天机器人

    昨天我们已经成功的接入了微信公众账号.今天咱们来做一个微信聊天机器人.这个就需要一点点PHP的知识了.如果你不懂PHP呢,没关系,跟着一步一步做也 可以做出来. 这是在昨天的基础上做的,如果你还不会接 ...

  6. 微信公众账号开发利器 - jQuery WeUI V0.6.0 发布

    jQuery WeUI 是一个专门为对微信公众账号开发的一套UI库,它包含了 WEUI 的全部组件,另外还拓展了大量的常用组件,包括下拉刷新.滚动加载.日历.select 等. jQuery WeUI ...

  7. 微信公众账号开发模式2

    原文链接:http://hetuo.kuaizhan.com/98/6/p13951590057aed 晚饭的时候发现微博不认识的人分享我快站的文章了,居然有自然流量了,O(∩_∩)O~~好吧,不说废 ...

  8. php判断微信内核,JavaScript_如何判断微信内置浏览器(通过User Agent实现),在进行微信公众账号开发的时 - phpStudy...

    如何判断微信内置浏览器(通过User Agent实现) 在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢? 微信内置浏览器的 Use ...

  9. 微信公众账号开发接口实现 - java servlet

    原文:微信公众账号开发接口实现 - java servlet 源代码下载地址:http://www.zuidaima.com/share/1550463697898496.htm 微信公众平台开发接口 ...

最新文章

  1. Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据
  2. 2017阿里云代码管理服务公测上线
  3. MFC 窗体样式修改
  4. ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(四)——整合asp.net mvc...
  5. 排序算法第四篇——冒泡排序
  6. 中国摊铺和混凝土浇筑设备市场趋势报告、技术动态创新及市场预测
  7. python载入图像
  8. 文电通:助力企业入局“无纸化办公”!
  9. 设置Notes暗黑模式
  10. Jenkins集成GitHub
  11. ARPG游戏的战斗系统设计经验分享
  12. c语言求两个字符串的交集,用c语言求两个集合的交集,并集,差集
  13. 【python】如何使用pip安装、卸载包
  14. 【CSDN编程竞赛 第六期】我的第一场编程竞赛。
  15. 【游戏编程扯淡精粹】如何学习编程语言
  16. 素数 android10万以内,10万以内的质数表?
  17. Java 接收返回json数据动态取data里的值
  18. B2G:来自Web平台的挑战者
  19. 苹果手机fiddler代理后无法联网的问题
  20. 江南大学计算机与科学研究生分数线,江南大学2021考研分数线已公布

热门文章

  1. pytorch中的numel函数
  2. 达人评测 i5 13600kf和i7 13700kf选哪个好
  3. 基于Flask框架的个人博客项目(一)—— 需求分析
  4. windows通过Kitematic使用docker
  5. 信号完整性(SI)电源完整性(PI)学习笔记(二十九)电源分配网路(一)
  6. 2019CCSU第二次校赛部分题解(A,B,E,G)
  7. [转帖]Marvell兵败中国4G 创始人去职未来几何
  8. poj2785 二分查找
  9. 自家APP打开微信小程序,可行吗?
  10. 移动广告变现,这几点可能比推荐算法更重要