最近在开发微信项目的时候 access_token   缓存到 redis里面的,明明在两个小时的有效期内  微信却提示 "errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint 经过在网上找资料查询  解决方案如下 调用微信一个没有次数限制的接口,把access_token传过去,接受返回值判断token的有效性 获取微信服务器IP地址…
1.开发微信公众号首先要获取access_token,在运行代码前现在开发者设置中把本服务器IP添加到白名单中 public function index(){ $appId = 'wxd0e50fe967dccccc'; $appSecret = 'd7f6be12ce41b60ss0f45054';//虚拟的,不要用 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&…
access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限额为2000次,测试号只有200次.如果每次响应都调用access_token,则有可能随着用户的增多超过调用次数,影响微信公众平台的使用.这里封装了一个缓存access_token的函数,需要的时候调用即可 // 接收appID,appsecret和token function get_acces…
如果是一个用户触发,那么只要将access_token放在数据库,文件,nosql就行,取时判断时间是否过期,过期重新去微信获取再放入. 如果是很多用户,多进程并发,特别是分布式那种架构呢?进程A判断access_token过期了,然后去微信抓取新的:在A尚未成功,进程B也进行了这个动作, 必然导致A的被B的覆盖,依然A的不能使用. 如果是在同一台机器上,文件读写互斥就可保证一个进程访问,数据库的行锁也可以,redis的锁事务也行. 如果是多台机器呢?数据库行锁可以:redis也可以:这时候像n…
PHP创建access_token.json文件,将access_token 和 生成时间expires 保存在其中, {"access_token":"xxxx","expires":1478799661} function getToken(){ $appid='你的appid'; $appsecret='你的appsecret'; $file = file_get_contents("./access_token.json&quo…
前言 最近有微信公众号开发的业务,以前没有用python做过微信公众号开发,记录一下自己的学习和开发历程,共勉! 公众号类型 订阅号 普通订阅号 认证订阅号 服务号 普通服务号 认证服务号 服务方式 公众号消息会话:包括被动回复 公众号内嵌网页 公众号消息类型 群发消息:由公众号想用户发送消息: 被动回复消息:客户端发送消息,公众号回复: 客服消息:当用户主动发消息给公众号,公众号48小时里可以无限发送消息: 模板消息:使用特定的模板内容主动向用户发送消息: 公众号的网页接口 接口1: 网页被授…
本文为原创,原始地址为http://www.cnblogs.com/fengzheng/p/5027630.html 上一篇说了微信开发的准备工作,准备工作完成之后,就要开始步入正题了.其实微信公众号开发,说白了,就是要构造和发送http或https的请求组成,并根据请求的返回数据做逻辑处理. 今天就来说一说微信开发第一步,公众号接入以及access_token的管理. 微信公众号接入 在微信公众号开发手册上,关于公众号接入这一节内容还是写的比较详细的,文档中说接入公众号需要3个步骤,分别是:…
微信公众号开发(三)获取access_token 1.说明 access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效. 2.access_token的使用方式 建议公众号开发者使用中控服务器统一获取和刷新Access_token,其他业务逻辑服务器所使用…
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效. 公众号可以使用AppID和AppSecret调用本接口来获取access_token.AppID和AppSecret可在微信公众平台官网-开发者中心页中获得(需要已经成为开发者,且帐号没有异常状态).注意调用所有微信接口时均需使用https协议. 获取access_token的思路是:用X…
最近做微信公众号开发,涉及到access_token的缓存问题(避免各自的应用都去取access_token,同时解决微信 appid和appsecret的安全问题),在通用权限管理系统底层增加了实现方法: (access_token默认2小时过期,每取一次,上一次的就自动失效,每天取的次数有限制) //----------------------------------------------------------------- // All Rights Reserved , Copyri…