1、微信开发文档微信开发文档2015 年 10月目 录1. 微信公众号的注册 42. 开发环境的搭建 62.1. 公众号开发环境准备 62.1.1. 映射工具 63. 开发者模式 83.1. 数据交互 83.2. 开发模式接入 83.3. 消息的接收与响应 124. 用户管理 134.1. 获取用户基本信息接口 154.2. 程序实现 171. 微信公众号的注册 腾讯官方微信平台地址:点击注册:在选择类型时,有三种类型可供选择(选择后不可更改):2. 开发环境的搭建2.1. 公众号开发环境准备1、一个微信公众号2、外网映射工具(开发调试)与微信对接的url要具备以下条件:1)、在公网上能够访问到2
2、)、端口只支持80端口2.1.1. 映射工具ngrok可以将内网映射到外网上面,这样就可以在公网访问你的本地网络服务。使用方法: 1、下载官方最新客户端2、下载配置文件ngrok.cfg3、运行客户端是,请添加-config以载入配置文件。例如:ngrok -config ngrok.cfg -subdomain example 8080意为将本地的8080端口链接到example.tunnle.mobi上 上图意为映射成功。将本地地址映射到了国内http:/example.tunnle.mobi这个地址,这个地址是永远不会变的。如果本地项目为:http:/localhost:8080/Tes
3、t/index.jsp ,有了这个映射,我们可以在公网上直接输入http:/example.tunnle.mobi/Test/index.jsp3. 开发者模式3.1. 数据交互微信公众服务器就是我们在开发模式下进行开发的内容,包括自己的逻辑、自己的业务开发都是在这里进行。3.2. 开发模式接入1、进入“开发者中心”,点击“开发者文档”第一步:填写服务器配置URL:微信公众号服务器的入口地址Token:由开发者随意填写,它主要是在接入验证的时候需要一个签名EncodingAESKey:这是随机生成的一个字符串,它主要用作信息加密第二步:验证服务器地址的有效性创建微信服务器的入口:校验:配置:3
4、.3. 消息的接收与响应将映射在外网的http:/example.tunnle.mobi/Weixin/wx.do配置到微信后台服务器将代码中的token配置到后台服务器随机生成EncodingAESKey字符串,点击提交,执行WeixinServlet,进行接入校验,提交成功,说明开发环境和微信后台的对接已经完成。4. 用户管理需要申请一个测试号,其使用可以说与实际的公众号没有什么区别,可以这样:一、其生成了一个二维码,你可以自己扫描关注,从而成为这个公众号的关注用户,当然把二维码发给朋友来关注,以便模拟更真实的环境。二、同样要配置接口信息,即url和token(这个是你自己提供的)。然后就
5、可以利用获得的appid和appsecret(这个是公众平台提供的)来开发测试各种接口功能了。1、打开你的微信公众号,点击“开发者中心”的显示栏里有“公众测试账号”2、用手机登录你的微信,使用微信中的“扫一扫”功能,扫描上面网页中的二维码。在手机上会出现以下界面:3、点击“确认登录”按钮,回到电脑的网页,网页将变为:4.1. 获取用户基本信息接口在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同 一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所
6、在城市、语言和关注时间。获取用户基本信息开发者可通过OpenID来获取用户基本信息。请使用https协议。接口调用请求说明http请求方式: GET参数说明参数是否必须说明access_token是调用接口凭证openid是普通用户的标识,对当前公众号唯一lang否返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语返回说明正常情况下,微信会返回下述JSON数据包给公众号:参数说明参数说明subscribe用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。openid用户的标识,对当前公众号唯一nickname用户的昵称sex用户的性别,值为1时是男性,值为2时是女性,值为0时是未知city用户所在城市country用户所在国家province用户所在省份language用户的语言,简体中文为zh_CNheadimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空subscribe_time用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间4.2. 程序实现获得ACCESS_TOKEN:获取用户信息: