微信公众号开发环境搭建

第一章 申请服务器资源

创建新浪云计算应用

申请账号

我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境。
申请地址为:http://www.sinacloud.com/ucenter.html
点击进入之后,使用新浪微博账号登录;登录之后,按照提示注册个人信息即可。 

创建新应用 

回到首页,在菜单顶部选择 控制台 ,再选择 云应用SAE进入SAE应用列表,点击下侧的 创建应用这时会弹出提示, 禁止放置违法违规内容,点击 继续创建开发语言选择PHP,运行环境为 标准环境,语言版本 5.3,代码管理选择 SVN新浪云支持Git、SVN、代码打包上传三种提交方式,具体请参考:https://www.sinacloud.com/doc/sae/tutorial/code-deploy.html),二级域名自己想一个名字,应用名称可以用系统默认填的,然后点击右方的 创建应用应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的这个应用。

创建版本

点击刚才创建的应用名称,进入应用主页;点击左侧的 应用管理 下面的 代码管理在代码管理中,选择使用SVN托管的方式。不要使用云空间和Git的方式,跳转到代码管理,点击右侧的“创建版本”,版本号默认为1,点击创建,有时会弹出安全登录,需要输入安全密码,如果不知道或者忘记了,就点里面的找回密码,重新设置一下。验证通过之后,到这里,就成功创建了一个域名URL为 http://***.sinaapp.com/ 的应用了,记住你的这个URL,后面将会用到。

上传代码

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

<?php

header('Content-type:text');

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;
        }
    }
}

?>

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

回到SAE的代码管理界面中;再选择“上传代码包”,点击上传文件,选择index.zip(对index.php打包)文件,点击上传。

上传成功后中间是一个绿色的横条;如果没有绿色的横条,表示上传失败,需要重试(可以考虑在Chrome浏览器下重试一下)。

点击编辑代码按钮,有时候需要输入自己的安全密码,如果不记得了就点击“找回密码”,安全验证成功后继续之前的操作。
我们可以看到index.php已经上传成功,双击可以查看编辑里面的代码
新浪云应用的创建就成功了。

经测试,有的应用会自动出现一个叫index.html的文件,只需要我们自己上传的index.php和config.yaml文件就可以了。多余的要删除!!!

第二章 启用开发模式

微信公众平台开发模式

个人开发者使用测试号

个人学习开发建议使用测试号 

微信测试号地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 

登录后,在接口配置信息中填写刚才生成的URL地址和Token.

URL地址就是上面介绍的云应用的域名地址:http://1.***.applinzi.com/ 或者  http://***.applinzi.com/都可以;

Token在程序中固定为 weixin

填写好提交,顶部显示配置成功;如果提示“token验证失败”,多重次几次。

企业开发者并且有订阅号或者服务号

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

登录微信公众平台后台,在左侧列表中最下方,找到“ 基本配置 ”,点击进入服务器配置填写框,点击“修改配置”按钮。

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

在弹出的提示框中,点击“确定”;配置修改后,再点击“启用”按钮;询问“是否确定开启服务器配置”,点击“确定”。如果提示“token验证失败”,可以先重次几次,微信服务器有时候不稳定。另外新浪SAE要求进行实名认证,请先上传身份证进行实名认证并通过审核后再试!

如果还是失败,请先用微信调试器测试一下url和token是否正确(点此查看详细测试方法)。

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

 自动回复

在上面的例子中,实现了一个发送“?”就能回复当前时间的功能。至此,你的微信公众平台账号已经实现自动回复了。 


如上操作正确的话,最基础的微信公众号开发搭建算是完成了,接下来更多丰富多彩的公众号开发技术还要等你去实现咯。

如有技术问题以及意见,还请各位看客多多指正分享。

技术参考链接:http://www.cnblogs.com/txw1958/

### Java 微信公众号开发本地测试环境搭建 #### 1. 准备工作 为了设置Java微信公众号开发的本地测试环境,需要安装并配置一些必要的工具和服务。 - **JDK 安装** 确保已安装 JDK 并设置了 JAVA_HOME 环境变量。可以通过命令 `java -version` 来验证是否成功安装[^3]。 - **IDE 配置** 推荐使用 IntelliJ IDEA 或 Eclipse 进行项目开发。这些 IDE 提供了良好的调试支持和插件生态。 - **Maven 构建工具** 用于管理依赖项和构建项目。通过 Maven 可以轻松引入所需的库文件,如 WeChat SDK 和其他第三方包。 #### 2. 获取开发者凭证 前往微信公众平台官网注册成为开发者,并获取 AppID 和 AppSecret。这两个参数对于后续接口调用至关重要。 #### 3. 设置服务器地址 由于微信服务器无法直接访问内网 IP 地址,在本地环境中需借助 ngrok 工具来创建隧道映射外部可访问 URL 到本机服务端口上运行的应用程序实例。 下载并启动 ngrok 后执行如下命令: ```bash ./ngrok http 8080 ``` 这会生成一个公网可用链接,将其作为回调URL提交给微信后台审核备案。 #### 4. 开发框架集成 选择合适的开源框架简化开发流程,比如 Weixin-java-tools 库提供了丰富的 API 封装,能够快速实现消息处理逻辑等功能模块。 添加 Maven 依赖到 pom.xml 文件中: ```xml <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>LATEST_VERSION_HERE</version> </dependency> ``` 注意替换 LATEST_VERSION_HERE 为最新版本号。 #### 5. 编写核心业务代码 基于所选框架编写接收事件推送、发送被动回复以及主动发起请求等相关功能的具体实现方式。 例如定义控制器类监听来自微信的消息通知路径 `/wechat/callback`: ```java @RestController @RequestMapping("/wechat") public class WeChatController { private final WxMpService wxMpService; @Autowired public WeChatController(WxMpService wxMpService) { this.wxMpService = wxMpService; } @GetMapping("/callback") public String handleGet(@RequestParam(name="signature", required=false) String signature, @RequestParam(name="timestamp", required=false) String timestamp, @RequestParam(name="nonce", required=false) String nonce, @RequestParam(name="echostr", required=false) String echostr){ try{ if(wxMpService.checkSignature(timestamp, nonce, signature)){ return echostr; // 返回随机字符串完成对接验证 } }catch(Exception e){ log.error(e.getMessage(),e); } return "error"; } } ``` 以上展示了 GET 请求处理器方法用来响应首次接入时的安全校验过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值