微信公众号开发简介
微信分为几个不同的号,为订阅号、服务号、企业号,其中订阅号是免费的,服务号和企业号是要money的。服务号大概一年300,因为功能多嘛,基本的微信接口都能调用了。
微信主要接口功能
微信提供n多个接口可以供开发者调用,而且完全是按照http协议的来调用的,所以学了web,再学微信开发很容易上手。
普遍的有获取用户昵称、地理位置、性别等。
微信接口文档地址:https://mp.weixin.qq.com/wiki/home/index.html
接口调用
- GET请求:url+参数
- POST请求:url+表单
- 回调请求:微信公众号在收到用户消息或者别的触发条件时,微信会自动调用相应的url,请求开发者服务器,以json数据或者XML包的形式发送请求参数。
关键参数说明
1.appID和appsecret:在你申请了微信公众号(不管是测试号、服务号还是企业号)之后,都会有这两个重要标识,在进行微信接口与开发者服务器验证时,起到作用。
- OpenID:用户在你的公众平台上的唯一标识
- access_token:开发者在调用微信接口时的一个文字签名,就是开发者必须提供access_token参数,才能调用微信的接口,而access_token这一参数可以根据接口文档请求得到。注意acess_token过期事件默认是2小时,并且每天最多获得2000次,不要重复请求。
4.开发者url:这个url是调用微信接口的服务器地址,注意必须是可以在线访问的服务器,本地的不行。(这里介绍给大家一个工具natapp,可以实现内网穿透,就是将本地网络映射到万维网,可以实现本地上线功能)
微信开发基本步骤
如果要调用微信提供的大部分接口的话,除了花钱申请服务号或者企业号,还可以申请微信的测试号。
申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
这里以测试号为例,展示微信开发的基本步骤
第一步:验证接口配置信息
- 配置开发者服务器验证的url地址:
image.png
此处以:http://xxxx.com/token为例
注意:url地址必须是可在线访问的url(可以使用natapp进行内网穿透)
token:开发者自定义 - 编写开发者服务器验证代码(此处使用springboot框架完成)
package com.wx.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
/**
* @author:wong
*/
@Controller
public class WxTokenController {
@RequestMapping("/token")
@ResponseBody
public String getWxToken(HttpServletRequest request){
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
System.out.println("signature:"+signature);
System.out.println("timestamp:"+timestamp);
System.out.println("nonce:"+nonce);
System.out.println("echostr:"+echostr);
return echostr;
}
}
此时:微信便会发送GET请求 url:http://xxx.com/token?signature=SIGNATURE×tamp=TIMESTAMP&nonce=NONCE&echostr=ECHOSTR
开发者的服务器必须返回echostr参数便能完成接口验证。
第二步:获取access_token
在调用微信接口时,微信的接口地址必须包含access_token这一参数,所以开发者服务器需要调用微信接口得到这一参数。
- 接口的具体信息,见微信公众号手册https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319
java代码:
@RequestMapping("/access_token")
@ResponseBody
public String testAccessToken(){
String url="https://api.weixin.qq.com/cgi-bin/token?" +
"grant_type=client_credential&appid="+APPID+"&secret="+APPSECRET;
String json = HttpClientUtil.doGet(url);
return json;
}
第三步:开始开发
有了appID、appsecret、access_token、TOKEN等参数,就可以参照微信公众号开发文档进行测试开发啦!
网友评论