这篇入门教程将引导你完成如下任务:
创建百度云应用
申请账号
应用名称自己随便填写一个,接入方式选择“手机web应用”,然后点击确定。
选择“云环境(BAE)”,
在新的窗口中,填写应用域名的名称,环境类型选择PHP,其他根据自己需要选择或者使用上图默认值,然后点击确定
创建版本
在版本管理中,点击创建新版本
版本号填写0,然后保存。
将以下代码中的token改为你的名称,并另存为index.php。
注意:此处填写的Token将要在下面填写URL时用到。可以先保存下来。
/*
CopyRight2013www.doucube.comAllRightsReserved
define("TOKEN","pondbay");
$wechatObj=newwechatCallbackapiTest();
classwechatCallbackapiTest
{
publicfunctionvalid()
$echoStr=$_GET["echostr"];
if($this->checkSignature()){
echo$echoStr;
exit;
}
privatefunctioncheckSignature()
$signature=$_GET["signature"];
$timestamp=$_GET["timestamp"];
$token=TOKEN;
$tmpArr=array($token,$timestamp,$nonce);
sort($tmpArr);
$tmpStr=implode($tmpArr);
if($tmpStr==$signature){
returntrue;
}else{
returnfalse;
>
然后将其压缩成zip格式
这样会生成一个index.zip的文件。
回来版本管理中
选择包上传更新
选择刚才压缩好的zip包,点击上传。
确定生效,并且点击,点击后如下图。
百度云应用的创建就成功了。
高级功能
进入后就看到两种模式
我们需要关闭编辑模式。点击编辑模式的进入
滑动关闭
开发模式
进入开发模式里面
点击成为开发者
弹出URL和Token填写框
此处的URL为创建百度云应用的域名,包括后面的duapp.com,而Token为index.php中定义的值。
填写如下图,
提交成功
再滑动右上角启用按钮。
至此,你已经成功启用开发模式。
接收消息类型
目前普通用户能向公众账号推送五种格式的消息:文本(包括表情)、语音、图片、视频、位置、链接。名片发送会失败。
1.文本(包括表情)
后台格式:
1359028446
5836982729904121631
发送表情
后台格式
1359044526
5837051792978241864
XML格式讲解
MsgType消息类型;文本消息为text
Content消息内容
MsgId消息ID号可以看出,文本和表情的消息类型均为文本
2.图片
后台格式:
[code]
1359028479
5836982871638042400
MsgType消息类型;图片消息为image
PicUrl图片链接地址,可以用HTTPGET获取
MsgId消息ID号
3.语音
1359028025
5836980921722890003
MsgType消息类型;语音消息为voice
MediaId媒体ID
Format语音格式,这里为amr
MsgId消息ID号附:AMR接口简介
全称AdaptiveMulti-Rate,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。
4.视频
1359028186
5836981613212624665
MsgType消息类型;视频消息为video
ThumbMediaId媒体缩略ID?
5.位置
1359036619
22.539968
113.954980
16
5837017832671832047
MsgType消息类型,地理位置为location
Location_X地理位置纬度
Location_Y地理位置经度
Scale地图缩放大小
Label地理位置信息
6.链接
1359709372
5839907284805129867
MsgType消息类型,链接为link
Title图文消息标题
Description图文消息描述
Url点击图文消息跳转链接
发送消息类型
目前公众账号能向普通用户推送三种格式的消息:文本、图文、音乐。其中图文消息包括单条图文消息和多条图文消息,展示方式有一点点不同。
下面就这几种分别详解如下:
1.文本消息格式
1359036631
0
FromUserName消息发送方
ToUserName消息接收方
MsgType消息类型,文本消息必须填写text
FuncFlag星标字段
2.图文消息格式
2.1单条图文消息
1359011899
1
ATA[【天津】天气实况]]>
2.2多条图文消息
1359011829
8
月24日周四2℃~-7℃晴北风3-4级转东南风小于3级]]>
-1℃~-7℃多云东北风3-4级转东南风小于3级]]>
8℃多云东北风3-4级转南风小于3级]]>
MsgType消息类型,图文消息必须填写news
Content消息内容,图文消息可填空
ArticleCount图文消息个数,限制为10条以内
Articles多条图文消息信息,默认第一个item为大图
PicUrl图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80
3.音乐消息
1372310544
TA[最炫民族风]]>
ToUserName接收方帐号(收到的OpenID)
MsgType消息类型,此处为music
Title音乐标题
Description音乐描述
MusicUrl音乐链接
HQMusicUrl高质量音乐链接,WIFI环境优先使用该链接播放音乐
FuncFlag位0x0001被标志时,星标刚收到的消息。
事件消息类型
1372307736
1372309890
3.菜单点击事件
1377886191
MsgType消息类型,event
Event事件类型,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)
EventKey事件KEY值,与自定义菜单接口中KEY值对应
简单的自动回复
该例子是接收文本消息($postObj->Content),并且回复文本消息($msgType="text";)的。
你可以把以下代码保存为index.php,按照上面提供的方法重新上传。
publicfunctionresponseMsg()
if(!empty($postStr)){
$postObj=simplexml_load_string($postStr,SimpleXMLElement,LIBXML_NOCDATA);
$fromUsername=$postObj->FromUserName;
$toUsername=$postObj->ToUserName;
$keyword=trim($postObj->Content);
$time=time();
$textTpl="
%s
";
if($keyword=="")
$msgType="text";
$contentStr=date("Y-m-dH:i:s",time());
$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);