微信公众平台开发-access_token获取及应用(含源码)
微信公众平台开发-access_token获取及应用(含源码)
作者: 孟祥磊-《微信公众平台开发实例教程》
很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或者禁止公众平台进行当前的操作。
一、access_token作用及使用场景
(一)access_token的作用
access_token由公众号的AppID和AppSecret组成,所以具有识别公众号的作用。
(二)access_token的使用场景
可以把它比喻成一个钥匙,通过access_token,微信公众号才能调用微信接口,如微信服务器 IP的获取接口,长链接转短链接接口、获取微信关注用户列表及获取用户基本信息的接口等等。
微信服务器也是通过access_token来判断公众号是否有调用该接口的权限。如在调用微信服务器IP获取接口时,需要带上access_token参数,微信在接收到请求后会先判断该access_token的公众号是否具有获取微信服务器IP的接口权限,如果有,返回查询的数据,如果没有,会返回该公众号无获取微信服务器IP接口的权限。
(三)access_token的特点
access_token存储至少要保留512个字符空间。access_token的有效期目前为2个小时,重复获取将导致上次获取的access_token失效。
(四)access_token的存储调用策略
access_token在后期应用开发中应采取的策略,如图所示,将access_token存储到中控服务器,所有需要用到该参数的程序都应访问中控服务器获取access_token,中控服务器判断当前access_token是否有效并刷新即可。

(五)获取access_token值
1.接口说明
http请求方式: GET
接口调用地址:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
调用参数说明,如表所示:
|
参数 |
是否必须 |
说明 |
|
grant_type |
是 |
获取access_token填写client_credential |
|
appid |
是 |
第三方用户唯一凭证 |
|
secret |
是 |
第三方用户唯一凭证密钥,即appsecret |
返回说明:
正常情况下,微信会返回JSON数据包给公众号:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回参数说明:
|
参数 |
说明 |
|
access_token |
获取到的凭证 |
|
expires_in |
凭证有效时间,单位:秒 |
错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
2.参数AppId和AppSecret
获取access_token时会用到两个非常重要的参数,即AppId和AppSecret,可在开发-基本配置中查看如图所示。

3.获取access_token
<?php
/*
*获取微信token
*/
//1.包含wei_function.php
require('wei_function.php');
$appid="wx78478e595939c538";
$secret="5540e8ccab4f71dfad752f73cfb85780";
//2.获取token地址,并替换$appid和$secret
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret."";
//3.调用wei_function.php文件内的getdata()函数
$output=getdata($url);
//4.json_decode解码JSON数据转变为数组,并通过
$token=object_array(json_decode($output));
//输出数组
//print_r($token);
//5.输出access_token
echo $token['access_token'];
?>
代码解析
require('wei_function.php');该函数文件可以购买《微信公众平台开发实例教程》,在该书中第95页有详细讲解。
孟祥磊公开课交流群号:230175725
微信公众平台开发-access_token获取及应用(含源码)的更多相关文章
- 微信公众平台开发2-access_token获取及应用(含源码)
微信公众平台开发-access_token获取及应用(含源码) 很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或 ...
- ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息, ...
- Java微信公众平台开发之获取地理位置
本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...
- C#微信公众平台开发—access_token的获取存储与更新
一.什么是access_token? access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取 ...
- 微信公众平台开发-微信服务器IP接口实例(含源码)
微信公众平台开发-access_token获取及应用(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 学习了access_token的获取及应用后,正式的使用access_token ...
- C#微信公众平台开发—高级群发接口
涉及access_token的获取请参考<C#微信公众平台开发—access_token的获取存储与更新> 一.为了实现高级群发功能,需要解决的问题 1.通过微信接口上传图文消息素材时,J ...
- 微信公众平台开发教程--方培工作室,PHP语言版本
准备工作 微信公众平台的注册 介绍如何注册一个微信公众账号. 入门教程 微信公众平台开发入门教程 内容:1.申请SAE作为服务器; 2.启用开发模式; 3.微信公众平台PHP SDK; 4.接收发送消 ...
- 微信公众平台开发(98) UnionID
关键字 微信公众平台 微信开放平台 UnionID作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/weixin98-get-user-UnionID.html ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
随机推荐
- Mybatis学习(7)spring和mybatis整合
整合思路: 需要spring通过单例方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession.(spr ...
- iOS 之 设置控件在视图中心位置
_qrImgView.bounds = CGRectMake(0, 0, sizeImg, sizeImg); _qrImgView.center = CGPointMake(CGRectGetWid ...
- Intel为什么做不好手机CPU?
Intel大名鼎鼎,在CPU界无人不知无人不晓,然而在当前主流的手机CPU市场上却是远远落后日本的ARM公司,这到底是Intel技术不足,还是ARM过于强大呢,今天我们就来探讨一下. 故事要从2006 ...
- 样式(Style)和主题(Theme)资源——样式资源
样式和主题资源都是用于对Android应用进行“美化”的,只要充分利用Android应用的样式和主题资源,开发者可以开发出各种风格的Android应用. 样式资源: 如果我们经常需要对 ...
- Zepto.js-事件处理
http://www.webdevs.cn/article/68.html web开发网 事件 $.Event $.Event(type, [properties]) ⇒ event 创建并初 ...
- WEB 开发者应该具备的 6 大技能?
1. 界面和用户体验 注意,浏览器的实现标准是不一致的,请确保你的网站能够兼容所有主流的浏览器.最少需要测试的有 Gecko 引擎 (Firefox),WebKit引擎(Safari以及一些手机浏览器 ...
- 2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)
Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等.谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储 ...
- MariaDB多源复制环境搭建(多主一丛)
环境: 192.168.1.248 HE1 主库 192.168.1.249 HE2 主库 192.168.1.250 HE3 从库 主库授权备份账户 mysql> grant SELECT, ...
- 《深度探索C++对象模型》笔记——Data语意学
Data Member的绑定 inline member functin躯体之内的一个data member绑定操作会在整个class声明完成之后才发生. argument list中的名称还是会在它 ...
- React快速入门教程
简介 Facebook官网介绍:React 是一个用来构建用户界面的 JavaScript 库.相当于 MVC 架构的 V 层. React 的核心思想是:封装组件,各个组件维护自己的状态和UI,当状 ...