专栏首页古时的风筝用java开发微信公众号:测试公众号与本地测试环境搭建(一)

用java开发微信公众号:测试公众号与本地测试环境搭建(一)

俗话说,工欲善其事,必先利其器。要做微信公众号开发,两样东西不可少,那就是要有一个用来测试的公众号,还有一个用来调式代码的开发环境。

测试公众号

微信公众号有订阅号、服务号、企业号,在注册的时候看到这样的信息,只有订阅号可以个人申请,服务号和企业号要有企业资质才可以。这里所说的微信公众号开发指的是订阅号和服务号。

另外,未认证的个人订阅号有一些接口是没有权限的,并且目前个人订阅号已不支持微信认证,也就是说个人订阅号无法调用一些高级的权限接口,下图就是一个未认证的个人订阅号所具备权限列表,像生成二维码、网页授权、自定义菜单、微信支付这样的接口权限都是不具备的。

说了半天,那如果没有企业资质,又想做高级接口的开发怎么办呢。

微信公众平台提供了测试公众账号,登录地址为:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,只需要到这个页面,点击登录,并用自己的微信客户端扫码,并授权登录,就可以获得属于自己的测试公众号。测试公众号具备几乎所有的接口,平时开发如果没有可用的公众号,就用这个测试的公众号就可以了。

本地测试环境

开发微信公众账号的一大痛苦之处就是调试问题,每次实现一个功能后都需要部署到一个公网服务器,虽然目前有各种免费云平台可以部署,但是调式基本只能靠日志输出了,而且没次修改->部署->查看日志,这样的操作过程非常浪费时间,时间就是生命,这样难道不是在浪费生命吗。那么,有没有办法可以本地部署,本地调试呢?

当然有,因为每次向公众号发送一条指令,公众号所在的服务器要和你的服务器进行网络交互,所以说你的服务器要保证外网可以访问到,那么只需要将你本地映射到一个外网地址即可实现微信公众号的本地调试。提供这样功能的软件不少,比如花生壳,但是要收费的。这里介绍一个免费的软件,ngrok,访问可能需要FQ。根据本地所需的版本,windows或者linux版,然后注册账号,账号注册成功后,会得到一个免费授权码,这个授权码在第一次启动ngrok时会用到。

以我本地为例,我下载的是windows版本的,下载并解压后,找到解压目录,双击ngrok.exe,第一次启动时,输入如下命令:

ngrok -authtoken 授权码 80

之后再启动,双击ngrok.exe即可,启动后输入命令将本机映射到外网,将本地8080端口下的web服务映射到外网80端口,命令如下:

ngrok http 8080

启动后的界面如下:

红色部分即为映射的外网地址,现在访问这个地址就是访问本地的8080端口。但是免费版的ngrok,生成的外网映射地址是随机的,每次重新启动都会不一样,但其实并无大碍,因为每天ngrok启动一次中途基本不会关闭,每次启动之后,到微信测试公众号管理页面,重新配置一下即可。

截止到目前为止ngrok是可用的,也就是说ngrok服务器虽然被墙了,但是微信公众号服务器是可以访问的,这样一来也就不妨碍我们做本地调式了。只是下载注册ngrok需要FQ一下。

国内也有一些ngrok服务器,但是没有试过,如果有兴趣可以自行搜索一下。当然如果有能力,可以自己搭建一个ngrok平台,ngrok是go语言实现的,代码已开源到github

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 项目中一种简单的动态修改配置即时生效的方式 WatchService

    古时的风筝
  • 别再重复造轮子了,几个值得应用到项目中的 Java 开源库送给你

    比如我们在拿到一个 List 集合之后,要对这个集合进行判空操作,以前我一直是这样写的:

    古时的风筝
  • 模板的简单介绍与使用

    什么是模板? 模板(template)指c++中的函数模板与类模板,大体对应于C#和Java众的泛型的概念。目前,模板已经成为C++的泛型编程中不可缺少的一部分...

    古时的风筝
  • 在移动互联网时代,企业可以通过微信进行营销推广

    随着互联网和移动互联网的迅速发展,使每一款产品,无论是新贵还是老迈,都更加容易的被更多人所了解。人们不必再通过电视广告或是巨幅海报或是报纸夹缝中的广告来了解一个...

    用户1745481
  • 在移动互联网时代,企业可以通过微信进行营销推广

    随着互联网和移动互联网的迅速发展,使每一款产品,无论是新贵还是老迈,都更加容易的被更多人所了解。人们不必再通过电视广告或是巨幅海报或是报纸夹缝中的广告来了解一个...

    用户1745481
  • Ngrok | 使用 ngrok 让外网可以访问你本地的Django网站

    当你使用Django在本地开发一个网站的时候,你希望转发给别人进行访问,但是又不想正式部署到服务器(毕竟部署也是挺麻烦的)。除此以外,有时本地测试还需要依赖ht...

    咸鱼学Python
  • 【晓头条】微信将彻底放弃 WP 平台 / 咪蒙做音频涉足付费内容 / 联通老用户终于可以自由换套餐了

    那么,现在就来跟着知晓程序(微信号 zxcx0101)来复习下,周末发生的这些新鲜事吧!

    知晓君
  • 小程序+公众号惺惺相惜 数据已互通

    在当下这个互联网时代,网上购物已经成为常态,实体店生意一年比一年难做,微信已经相对领先其他社交软件了,在微信中相识相知相恋已经不在觉得稀奇,在微信中了解查看时事...

    快销手公众号小程序开发
  • Python使用itcaht库实现微信自动收发消息功能

    toUserName指定接受消息的对象;每隔10s发送一次”hello world”,发送3次

    砸漏
  • 小程序开发_小程序定制_小程序定制开发_小程序开发公司

    在互联网时代,所有行业的竞争无论是时间维度还是空间维度都是不断扩大的,餐饮业的运营肯定也是绕不开的。而由于微信小程序的出现,更是给企业、商家开放了另一个空间。

    用户3711474

扫码关注云+社区

领取腾讯云代金券