微信公众平台为我们提供的API或者能力包括接收用户信息、向用户回复信息、事件 推送和自定义菜单。
1.网址接入
微信公众平台提供了一种网址接入的方法,这种方法让我们把公众账号服务器地址提交给微信后台;微信在我们的公众账号服务器发送数据的时候会带一个加密串,这个加密串只有我们能解密,同时也只有微信后台能生成这个加密串。
1.1接口配置信息
首先 登陆自己的微信公众账号的前台->高级功能->开发者模式->成为开发者
首先我们至少要有一台自己的服务器,并且这台服务器要能提供服务器资源,就是说要能够被微信后台的服务器访问到。这需要服务器有个外网IP。我们的Web Server监听外网IP的80端口之后就能收到微信平台的请求了。
1.2Token认证
Token是一个任意的字符串,你提交的Token给微信后台后,只有你和微信后台知道这个字符串是什么,也就是只有微信后台和我们的公众账号服务器知道这个字符串。于是Token就成为了两个服务器之间的密钥,它可以让公众账号服务器确认请求是来自微信后台还是来自恶意的第三方。
1)微信后台在发送数据给公众账号服务器的时候,会额外带上三个参数:signature,timestamp,nonce.其中timestamp是时间戳、nonce是一个随机数、signature是对timestamp、nonce和Token进行SHA1加密后的字符串。SHA1的加密过程是不可逆的,即不能通过signature、timestamp和nonce计算出Token是什么。
2)在公众账号服务器接收到timestamp、nonce、signature后,同样对nonce、timestamp和Token使用SHA1加密算法,得到自己的签名,如果自己的签名和请求中的signature是一样的,那么说明请求来自微信后台而不是恶意第三方。
2.接收用户信息
1)文本消息
在用户手机客户端直接编辑文字之后点击发送就可以发送文字了,在用户发送文本信息之后,微信后台会将该信息以XML的形式描述后发给公众账号服务器。
2)图片信息
因为我们用手机端给公众账号发送图片的时候只选择了相册里的一张图片或者拍摄的一张图片,所以微信后台在接收到照片的原始数据之后,会把图片上传到CDN上,然后把文件对应的CDN地址填写到信息的PicUrl.公众服务号可以通过这个url获取对应图片的数据。
3)地理位置信息
4)链接信息