获取access_token

access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

公众平台的API调用所需的access_token的使用及生成方式说明:

1、为了保密appsecrect,第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器,不应该各自去刷新,否则会造成access_token覆盖而影响业务;

2、目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中,中控服务器对外输出的依然是老access_token,此时公众平台后台会保证在刷新短时间内,新老access_token都可用,这保证了第三方业务的平滑过渡;

3、access_token的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程。

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在微信公众平台官网-开发页中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有微信接口时均需使用https协议。如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。

接口调用请求说明

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"}

function gettoken(){
		$token = file_get_contents("token.json");
		$token = json_decode($token,true);
		if((time() - $token[‘time‘]) > 7000){
		$appid = "wx88800569383b80b5";
		$secret = "0413afc58c83b722c31815ff4f6b880a";
		$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";
		$token = file_get_contents($url);
		$token = json_decode($token,true);
		$token[‘time‘] = time();
		$token = json_encode($token);
		file_put_contents("token.json", $token);
		$token = json_decode($token,true);
		return $token[‘access_token‘];

		} else {
			return $token[‘access_token‘];
		}
	}
时间: 2024-10-13 01:42:37

获取access_token的相关文章

微博开放平台开发(一)获取access_token

因为工作需要,接触到微博开放平台开发.特做此记录方便查用. 一.准备. 1.微博账号.注册很容易. 2.微博账号成为开发者. 登录微博开放平台  登录你注册的账号,然后进入管理中心完善开发者基本信息和身份认证. 这个时候,还需要浏览一下微博开放平台的文档,来了解一些这个开放平台的一些规范性的名词. 每个链接都点进去看看,顺便看看微博API文档,你会发现,里边有介绍说,一些接口的调用需要获取access_token.本文就是要实现这个目标. 二.创建应用. 比如咱们要开发一个网站,然后在这个网站里

微信公众号开发——获取access_token(PHP版)

access_token是调用微信接口的唯一凭据,每两小时刷新一次,我们需要每两小时就获取一次access_token. <?php class TokenUtil { //获取access_token并保存到token.txt文件中 public static function build_access_token(){ $ch = curl_init(); //初始化一个CURL对象 curl_setopt($ch, CURLOPT_URL, "https://api.weixin.q

关于微信获取access_token接口,返回值为-1000的问题

今天打算获取token来,来修改公众号的菜单,结果像往常一样输入了appid 和 secret ,结果没有返回access_token,而是返回了一个-1000,并提示 "未知返回状态" 最终翻看微信开发api找到需要去配置IP白名单.只需要配置访问来源IP即可. 同时使用这个 http://ip.qq.com/ 可以拿到IP. 重新获取access_token,成功.事实证明还是要多看文档API.

微信开发之(二)获取access_token

官方文档说明:获取access token 在上面的官方文档中我们可以直接在最底下的链接里面进行测试例如: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET   是否必须 说明 grant_type 是 获取access_token填写client_credential appid 是 第三方用户唯一凭证 secret 是 第三方用户唯一凭证密钥

微信获取access_token

<?php header("content-type:text/html;charset=utf-8"); $appid = "#############################"; $appsecret = "################################"; $result = get_access_token($appid, $appsecret); echo $result; function get_ac

Delphi XE7 用indy开发微信公众平台(1)- 获取access_token、expires_in

获取access_token.expires_in function GetMethod(HTTP: TIdHTTP; Url: String; Max: Integer): String; var RespData: TStringStream; begin RespData := TStringStream.Create('', TEncoding.UTF8); try try HTTP.Get(Url, RespData); HTTP.Request.Referer := Url; Res

微信公众号平台接口开发:基础支持,获取access_token

新建Asp.net MVC 4.0项目 WeChatSubscript是项目UI层 WeChatTools是封装操作访问公众号接口的一些方法类库 获取AccssToken 我们要的得到AccessToken,这是所有接口访问的基础,我们看看官方给出的接口调用文档 很简单明了,grant_type=client_credential,这是固定的不会变 appid与secret就是前面一章我叫大家记起来的那个认证口令数据. 下边我们来实现这个功能,新建WeCharBase.cs 1 public c

java微信接口之——获取access_token

一.微信获取access_token接口简介 1.请求:该请求是GET方式请求,所以要携带的参数都是附加到url后面传递给微信服务器.请求的url格式如下: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中,APPID与APPSECRET都我们开发的时候自己帐号申请的. 2.响应:返回数据都是json数据,格式如下: 正确的时候返回的数据:

新浪微博开发获取access_token的艰难过程

一个网络问题困扰了我好几天,终于幸运的解决了. 言归正传,笔者按照M了个J的教程来进行新浪的开发,到抓取微博数据的时候挂了,一直无法读取微博接口,现在仍没解决,不过我新建了一个应用,用自己的账号调试通过了.接下来说说遇到的几个坑. 网络用的AFN框架,开发环境Xcode5,ARC.最开始一直按照MJ的做法用response_type=token来获取,一直挂,万念俱灰.后Google到有人说这个方式被新浪用来只开放给web了,客户端没戏,尝试着获取code,然后再用code获取access_to