微信公众平台开发入门教程
关键字:微信公众平台开发
作者:方倍工作室
原文地址:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。
我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部。
本系列教程将引导你完成如下任务:
- 创建新浪云计算平台应用
- 启用微信公众平台开发模式
- 了解数据收发原理及消息格式
- 开发实现微信天气预报功能
第一章 申请服务器资源
创建新浪云计算应用
申请账号
我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境。
申请地址为:
注册地址:http://t.cn/Rb3iWvU
可以看到右上角微博登录的链接。
点击进入之后,使用新浪微博账号登录
登录之后,按照提示注册个人信息即可。
创建新应用 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
回到首页,在菜单顶部选择 控制台 ,再选择 云应用SAE 。
进入SAE应用列表
点击下侧的创建新应用,这时会弹出提示, 禁止放置违法违规内容,点击继续创建,弹出如下窗口。
选择一个未使用的appid,如果老是已经被使用不知道该什么好,就填写你的QQ号或者手机号吧。
填写二级域名AppID、应用名称、验证码,开发语言选择PHP5.3,全部应用和框架下面选择第一个【PHP 空应用】。然后点击左下方的创建应用
应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的1354386063这个应用。
创建数据库
点击刚才创建的应用名称,进入应用主页。
在左侧的数据库服务中找到MySQL
点击进入MySQL类型选择,这里选择独享型MySQL
在创建独享型MySQL中,使用微型配置,然后点击“确认初始化” 个人还是推荐共享型吧
底部将显示任务进度。
等任务完成之后,再点击销毁MySQL按钮,
这样创建并销毁一次,可以多获得200云豆。以后使用的时候,可以使用免费的共享型MySQL或者使用收费但更稳定强大的独享型MySQL。
创建版本 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
点击刚才创建的应用名称,进入应用主页。
点击左侧的应用管理下面的代码管理,
在代码管理中,选择使用SVN托管的方式,不要使用git的方式。
跳转到代码管理
点击右侧的“创建版本”
版本号默认为1,点击创建,有时会弹出安全登录,需要输入安全密码,如果不知道或者忘记了,就点里面的找回密码,重新设置一下。:
验证通过之后,如下所示
到这里,就成功创建了一个域名URL为 http://1354386063.sinaapp.com/ 的应用了,记住你的这个URL,后面将会用到。
原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
上传代码 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
下述代码是一个微信接口文件,看不懂没有关系,你可以暂时不用弄明白它的意思。
如果想弄明白,可以购买《微信公众平台开发最佳实践》,在该书中第25页~第27页有详细讲解。
<?php /* 方倍工作室 http://www.cnblogs.com/txw1958/ CopyRight 2013 www.doucube.com All Rights Reserved */ 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()){ header('content-type:text'); echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $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,
或者直接下载方倍工作室已经压缩好的index.zip文件。点此进入下载
回到SAE的代码管理界面中。
再选择“上传代码包”,点击上传文件,选择刚才的index.zip文件,点击上传,上传成功后中间是一个绿色的横条,如下所示
如果没有绿色的横条,表示上传失败,需要重试。可以考虑在Chrome浏览器下重试一下。
点击编辑代码按钮,
有时候需要输入自己的安全密码,如果不记得了就点击“找回密码”。
安全验证成功后继续之前的操作。
我们可以看到index.php已经上传成功,双击可以查看编辑里面的代码
新浪云应用的创建就成功了。
实名认证
新浪SAE要求用户上传身份证进行实名认证才可以正常使用,在左侧菜单列表中可以找到“实名认证”这一标签可进行实名认证操作。实名认证过程是免费的。认证以后每月免费有5G的流量。认证审核需要1~3个工作日。
来不及准备身份证照片的话可以先继续下面的内容,改天再来进行实名认证。但在使用过程中会受点影响。
如果不进行实名认证,SAE会在回复的内容中会带上干扰的html内容信息,从而导致Token验证失败或者该公众号暂时无法提供服务,请稍后再试。
实名认证需要填的信息如下
实名认证成功后,将如下图所示。
充值(本步骤可选择性进行)
新浪云SAE实行的是配额免费+超额付费的方式,相关标准请查看SAE价格体系介绍。初期对于大部分用户来说免费配额已够用,如果您将来使用量比较大建议预先至少充值100元获得10000云豆,以免超额后应用被禁用而影响业务。