微信公众平台开发教程

最近工作上要做微信接口这类的事情,之前没有接触过这个,经过几天的煎熬,终于找出了点眉目,在这里分享出来,希望能帮到大家。

在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。

我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部。

本系列教程将引导你完成如下任务:

  1. 创建新浪云计算平台应用
  2. 启用微信公众平台开发模式
  3. 了解数据收发原理及消息格式
  4. 使用微信调试器调试程序

第一章 申请服务器资源

创建新浪云计算应用

申请账号

我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境。

申请地址: http://sae.sina.com.cn/ ,使用新浪微博账号可以直接登录SAE,登录后SAE将赠送500个免费云豆。

1

创建新应用  http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

FRbaq2

点击下侧的 创建新应用 ,这时会弹出提示, 禁止放置违法违规内容,点击 继续创建 ,弹出如下窗口。

3

选择一个未使用的appid,如果老是已经被使用不知道该什么好,就填写你的QQ号或者手机号吧。

填写二级域名AppID、应用名称、验证码,开发语言选择PHP,全部模版下面选择第一个【 PHP 空应用 】。然后点击左下方的 创建应用

4

应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的1354386063这个应用。5

创建版本  http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

点击刚才创建的应用名称,进入应用主页。

点击左侧的 应用管理 下面的 代码管理 ,

6

跳转到代码管理7

点击右侧的

8

版本号默认为1,点击创建,有时会弹出安全登录,需要输入安全密码,如果不知道或者忘记了,就点里面的 找回密码 ,重新设置一下。:

9

验证通过之后,如下所示

10

到这里,就成功创建了一个域名URL为 http://1354386063.sinaapp.com/  的应用了,记住你的这个URL,后面将会用到。

原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

上传代码  http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

下述代码是一个微信接口文件,看不懂没有关系,你可以暂时不用弄明白它的意思。

define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();if (isset($_GET['echostr'])) {$wechatObj->valid();
}else{$wechatObj->responseMsg();
}class wechatCallbackapiTest{public function valid(){$echoStr = $_GET["echostr"];if($this->checkSignature()){echo $echoStr;exit;
}
}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);$tmpStr = implode( $tmpArr,SORT_STRING );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;
}else{return false;
}
}public function responseMsg(){$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];if (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$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>";if($keyword == "?" || $keyword == "?")
{$msgType = "text";$contentStr = date("Y-m-d H:i:s",time());$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;
}
}else{echo "";exit;
}
}
}?>

我们将使用上述代码与微信公众平台对接。

将上述代码用专业的软件存为utf-8格式的index.php文件后再使用WinRAR压缩为index.zip,

回到SAE,在代码管理界面中,选择操作按钮。

11

再选择上传代码包,点击上传文件,选择刚才的index.zip文件,点击上传,上传成功后中间是一个绿色的横条,如下所示

12

如果没有绿色的横条,表示上传失败,需要重试。可以考虑在Chrome浏览器下重试一下。

点击编辑代码按钮,

13

有时候需要输入自己的安全密码,如果不记得了就点击“找回密码”。

14

安全验证成功后继续之前的操作。

我们可以看到index.php已经上传成功,双击可以查看编辑里面的代码

15

新浪云应用的创建就成功了。

 

微信公众平台开发模式

高级功能

微信公众平台地址: https://mp.weixin.qq.com

登录微信公众平台后台,在左侧列表中最下方,找到“开发者中心”,点击进入

16

进入服务器配置填写框。

17

点击“修改配置”按钮

18

此处的URL为上篇中介绍的云应用的域名,而Token在index.php中定义为weixin。EncodingAESKey则不用填,点击“随机生成”让自动生成一个,消息加解密方式选择“明文模式”,然后点击“提交”按钮。19

在弹出的提示框中,点击“确定”

20

配置修改后如图所示,再点击“启用”按钮21

询问“是否确定开启服务器配置”,点击“确定”

22

成功启用后如图。

恭喜,你成功启用开发模式。

自动回复

在上面的例子中,实现了一个发送“?”就能回复当前时间的功能。效果如下:

23

 

本文由 微营销手册 作者:微营销手册 发表,其版权均为 微营销手册 所有,文章内容系作者个人观点,不代表 微营销手册 对观点赞同或支持。如需转载,请注明文章来源。
15

发表评论