微信公众平台 - 授权接口说明
一、基础接口access_token
凭据 access_token 是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用 access_token 作为认证要素
获取到的 access_token 有效期为2个小时,且获取接口的调用次数有限制,需要存储复用并定时刷新,公众平台会保证在刷新的5分钟内新老 access_token 都可用实现业务的平滑过渡
公众号在调用接口获取 access_token 时,需要提前将服务器的 IP 地址添加到微信公众平台的基本配置的 IP 白名单中,小程序无需配置 IP 白名单
- 请求说明
参数名称 | 是否必须 | 说明 |
grant_type | 是 | 获取 access_token 填写 client_credential |
appid | 是 | 第三方用户唯一凭证 |
secret | 是 |
第三方用户唯一凭证密钥,即 appsecret |
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxa418d7jd5b2ab75c&secret=c4a86bc98d3ce4189bei78d3b67482a2
- 返回说明
参数名称 | 参数说明 |
access_token | 获取到的基础接口凭证 |
expires_in | 凭证有效时间,单位:秒 |
/************成功示例************/
{"access_token": "22_AfDy6E_UokcJ3GGrWwhcyEr5r-LN0T7aVmN74VDfrZmw7eeiXmMWb7AU6Z9mYq7Ey5Nggl82bSPn","expires_in": 7200
}/************失败示例************/
{"errcode": 40013,"errmsg": "invalid appid"
}
二、网页授权access_token
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑
微信网页授权是通过 OAuth2.0 机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证,即网页授权 access_token,通过网页授权 access_token 可以进行授权后接口调用,如获取用户基本信息
网页授权 access_token 需要通过 code 换取,同时返回的还有 openid 即用户唯一标识;返回报文类型为 JSON 类型
- 请求说明
参数名称 | 是否必须 | 参数说明 |
appid | 是 | 公众号的唯一标识 |
secret | 是 | 公众号的appsecret |
code | 是 | 填写code参数,见三 |
grant_type | 是 | 填写为authorization_code |
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxa418d7jd5b2ab75c&secret=c4a86bc98d3ce4189bei78d3b67482a2&code=061DSI9p1nYAak0VIBdp1rgt9p1DSI9I&grant_type=authorization_code
- 返回说明
参数名称 | 参数说明 |
access_token | 网页授权接口调用凭证。注意:此 access_token 与基础接口的 access_token 不同 |
expires_in | access_token 接口调用凭证超时时间,单位(秒) |
refresh_token | 用户刷新 access_token |
openid | 用户唯一标识。注意:用户在未关注公众号时访问也会产生一个唯一的OpenID |
scope | 用户授权的作用域,使用逗号(,)分隔 |
/************成功示例************/
{"access_token": "22_qlj-5sxlhqQSykf2eW2OpIAGXoxx_JBlDmkBmhb6H9QXhnBw_mPjsYqDt18C-hwAwdWbf0N","expires_in": 7200,"refresh_token": "22_E7O3tE50OmaLI_7-JLEgbqFCflsfwvqR0-6nKMsOjrsvygnz4GcSDjCKDS4hGnMvi_eE3c","openid": "ov5yQ8_ILc_--TfUa-IzuIL-B5Ok","scope": "snsapi_userinfo"
}/************失败示例************/{"errcode":40029,"errmsg":"invalid code"}
三、网页授权前置code
在获取网页授权 access_token 时,需要先获取 code 做为票据。每次用户授权后返回的 code 都是不一样,一个 code 只能使用一次,且5分钟未被使用将自动过期
以 snsapi_base 为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,这种授权是静默授权并自动跳转到 redirect_uri 指定的回调页
以 snsapi_userinfo 为 scope 发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,且由于用户同意过,所以无须关注就可在授权后获取该用户的基本信息
获取 code 的请求必须在微信浏览器内发送,在静默授权或用户确认后,公众平台将自动跳转请求到 redirect_uri 指定的回调地址
- 请求说明
参数名称 | 是否必须 | 参数说明 |
appid | 是 | 公众号的唯一标识 |
redirect_uri | 是 | 授权后重定向的回调链接地址。使用 urlEncode 对链接进行处理 |
response_type | 是 | 返回类型,请填写code |
scope | 是 | 应用授权作用域,snsapi_base 或 snsapi_userinfo |
state | 否 | 重定向后会带上state参数,可以填写a-zA-Z0-9的参数值,最多128字节 |
#wechat_redirect | 是 | 无论直接打开还是做页面302重定向时候,必须带此参数 |
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa418d63f5b2ab75c&redirect_uri=http%3A%2F%2Fdemo.xl.com%2Fwx%2Foauth%2Flogin%3Fparam%3Dvalue&response_type=code&scope=snsapi_userinfo&state=10001#wechat_redirect
- 回调说明
参数名称 | 参数说明 |
code | 换取 网页授权 access_token 的票据 |
state | 官方回调的保留域,回调跳转时原样携带返回 |
param | 自定义的参数名及其参数值,回调跳转时原样携带返回 |
http://demo.xl.com/wx/oauth/login?param=value&code=071mv17I1Fikw00a5N8I19KM6I1mv17J&state=10001
四、网页开发jsapi_ticket
微信 JS-SDK 是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包,通过JS-SDK可借助微信使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用分享、扫一扫、卡券、支付等微信特有的能力
jsapi_ticket 是公众号调用 JS-SDK 接口的票据,所有需要使用 JS-SDK 的页面都必须先通过 wx.config 注入权限验证配置,而配置中的 signature 字段的生成则需要 jsapi_ticket 的参与
获取 jsapi_ticket 需要通过基础接口 access_token 作为票据,获取接口的调用次数有限制,需要存储复用并定时刷新,获取到的 jsapi_ticket 有效期为7200秒,接口返回类型为 JSON 类型
- 请求说明
参数名称 | 是否必须 | 参数说明 |
type | 是 | 请求类型,请填写 jsapi |
access_token | 是 | 基础接口 access_token。见一 |
https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=22_AfDy6E_UokcJ3GGrWwhcyEr5r-LN0T7aVmN74VDfrZmw7eeiXmMWb7AU6Z9mYq7Ey5Nggl82b
- 返回说明
参数名称 | 参数说明 |
errcode | 错误代码 |
errmsg | 错误消息 |
ticket | 网页开发工具包 JS-SDK 接口的调用票据 |
expires_in | 凭证有效时间,单位:秒 |
{"errcode": 0,"errmsg": "ok","ticket": "LIKLckvwlJT9cWIhEQTwfIn035troj3P-aU7eHjdlobrTrMGEwUne8ON3n2GlJogGlKpo46nE4ZPw3qc7w","expires_in": 7200
}
附、微信测试公众号
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
微信公众平台 - 授权接口说明相关推荐
- 微信公众平台数据接口正式对所有认证公众号开放
经过10多天的微信公众平台数据接口内测,现在正式对所有认证公众号开放了.微信公众平台数据接口正式向所有已微信认证(通过资质认证即可)的服务号和订阅号开放.通过数据接口,公众号开发者可以便利地获取更详细 ...
- 微信公众平台消息接口星标功能
[微信公众平台星标功能接口被撤销]微信公众平台消息接口中的星标功能,被悄悄的去掉了. 原因应该是有的账号在程序中大量使用星标功能,造成微信服务器存储记录过于宠大. 现在要继续使用星标功能,只能在后台手 ...
- 微信公众平台消息接口PHP版
使用前提条件:拥有一个公网上的HTTP服务器主机空间,具有创建目录.上传文件等权限.推荐新浪的SAE.http://sae.sina.com.cn/ 首先请注册微信公众平台的账号,注册地址:http: ...
- 微信公众平台消息接口开发(13)多语种互译
微信公众平台消息接口 微信公众平台API 微信开发模式 多语种翻译 多语言互译 Microsoft Translator 方倍工作室 Paraphrase API 10 out of 11 rated ...
- 微信公众平台消息接口API指南
下述文档已过期,更加完整及详细的请访问 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 简介 微信公众平台消息接口为开发者提供了一种新的消 ...
- 微信公众平台消息接口开发(2)-封装weixin.class.php
微信公众平台消息接口开发(2)-封装weixin.class.php 一.封装weixin.class.php 由于微信公众平台的通信使用的是特定格式的XML数据,每次接受和回复都要去做一大堆的数据处 ...
- 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙...
微信公众平台开发模式 微信 公众平台 消息接口 开发模式 企业微信公众平台 微信墙 婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙 历史上的今天 作者:方倍工作室 原文: http://www.c ...
- php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使 ...
- php对接微信提醒,PHP对接微信公众平台消息接口开发流程教程
PHP对接微信公众平台消息接口开发流程教程 发布于 2015-02-15 08:54:13 | 157 次阅读 | 评论: 1 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...
最新文章
- opensuse 42.2 mysql_【Linux】Grub模式硬盘安装openSUSE 42.2
- try catch用法_synchronized用法总结
- springMVC详解以及注解说明
- P4827 [国家集训队] Crash 的文明世界
- matlab错误使用assert,关于异常处理:何时在Matlab中使用assert()?
- 郁金香商业辅助教程 2016 笔记 6~10
- 如何将 Redis 的内存优化?
- 图像处理自学(三):CAMERAM处理流程总结
- 印刷文字的字体与字号规定
- 基于Struts的网上书店设计毕业论文(含源文件)
- 厉害,被马赛克的图片竟然还可以恢复
- HBase hmaster无法正常启动,日志报错Operation category READ is not supported in state standby.hdfs ha hbase配置修改
- 【RF分类】基于matlab随机森林算法数据分类【含Matlab源码 2048期】
- 彩色图像处理 彩色空间转换及代码实现
- 国外变电站3d可视化技术发展_国外沥青路面纵向施工接缝技术的发展
- PTA滤字符、函数CHG、mystrcpy--指针练习
- 训练样本制作--Annotating Object Instances with a Polygon-RNN
- IDEA的下载和安装
- Office OneNote 2007 是一个数字笔记本
- 合合信息科技-校园招聘笔试题
热门文章
- cocosc++怎么打印_c++打印api
- 6.20校内考试整理——大美江湖腐草为萤锦鲤抄题解
- 张孝祥 java_张孝祥Java高新技术汇总
- 【济宁seo网站推广】seo外链推广对于网站的意义
- python画建筑_我把图画这么好看,只是不想被建筑抛弃
- Docker入门篇(一)
- HTML5视频监控技术预研
- Zemax学习笔记——多重结构配置的激光扩束镜
- 从招股书看“医疗AI第一股”鹰瞳科技财报六大亮点
- 元数据(MetaData):