微信授权和测试整理
第一次开发微信相关内容,做了两件事:微信授权获取用户基本;微信公众号消息和菜单的开发与测试。整理如下:
-微信授权
-微信公众号消息
-微信公众号菜单
-微信公众号测试相关
-开发中碰到的问题
微信授权
微信授权有两种范围:一种是静默授权,微信用户无感知的情况下,你就能获取到用户的openid(用户的唯一标识);另一种是非静默授权,先回跳到授权页面,微信用户确认授权之后,可以拿到用户更多的基本信息,包括openid、头像、昵称、性别等
静默授权snsapi_base的步骤:
1. 获取code(5分钟内有效): https://open.weixin.qq.com/connect/oauth2/authorize?appid=自己公众号的APPID&redirect_uri=跳转url&response_type=code&scope=snsapi_base
2. 通过code获取access_token(60分钟内有效)和openid: https://api.weixin.qq.com/sns/oauth2/access_token?appid=自己公众号的APPID&secret=自己公众号SECRET&code=第一步获取到的CODE&grant_type=authorization_code
非静默授权snsapi_userinfo的步骤:
1. 获取code(5分钟内有效),然后跳转到redirect_uri: https://open.weixin.qq.com/connect/oauth2/authorize?appid=自己公众号的APPID&redirect_uri=跳转url&response_type=code&scope=snsapi_userinfo
2. 通过code获取access_token(60分钟内有效)和openid,get方式返回json数据: https://api.weixin.qq.com/sns/oauth2/access_token?appid=自己公众号的APPID&secret=自己公众号SECRET&code=第一步获取到的CODE&grant_type=authorization_code
3. 拉取用户信息,get方式返回json数据: https://api.weixin.qq.com/sns/userinfo?access_token=第二步获取的ACCESS_TOKEN&openid=第二步获取的OPENID&lang=zh_CN
微信公众号消息
1. 在公众号账号管理中配置好自己的服务器资源(打开公众号之后访问的url),设置好token值
2. 在服务中定义消息处理的接口,这里的消息包括文字、音频、视频等各种类型的消息,也包括事件如点击、关注、取消关注等。消息处理一般是回复消息https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=通过appid和secret获取到的ACCESS_TOKEN(access_token获取方式:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己公众号的APPID&secret=自己公众号的appSECRET)
微信公众号菜单
自定义公众号菜单,需要post请求https://api.weixin.qq.com/cgi-bin/menu/create?access_token=通过appid和secret获取到的ACCESS_TOKEN,发送menu的json串就OK。
微信公众号测试相关
1. 测试公众号:在微信测试公众号平台申请测试公众号,配置好服务器URL和token就可以利用这个测试的公众号测试自己的服务了。
2. 测试接口:测试调用微信接口时传递的参数是否正确,直接使用微信公众号的接口调试工具即可。https://mp.weixin.qq.com/debug/
开发中碰到的问题
使用微信测试公众号测试微信授权接口时,若未关注改测试号,会出现“未关注该测试号”的错误提示,经过验证,线上的服务号不会出现需要关注才能微信授权的错误!碰到相同问题的同学可以注意一下。
这里只是初次使用微信开发时碰到的简单梳理,多有不足,日后完善。