公众号获取推广二维码问题(获取access_token的时侯报错access_token is invalid or not latest hints)

Posted 酒哥-颢远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了公众号获取推广二维码问题(获取access_token的时侯报错access_token is invalid or not latest hints)相关的知识,希望对你有一定的参考价值。

这个问题,网上的回复有的是通过更新开发者密码(AppSecret)搞定的,有的是拼写错误改正了的。我这边这个问题都不是,几年前做的时侯没太留意,把网上的代码拷贝过来改改就出结果了,这次遇到的问题其实是几个基本概念要再次明确,微信在这种api文档上描述得很轻描淡写。

参考微信的文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

几个重要的点罗列一下:(注意标红的这句话)

一、关于网页授权的两种scope的区别说明

1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

二、关于网页授权access_token和普通access_token的区别

1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;

2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。

所以,如果是针对二维码获取,应该使用普通access_token

那么如何获取普通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 凭证有效时间,单位:秒


为了不频繁的获取,最好把access_token保存起来,在过期的时侯再重新获取。

 

以上是关于公众号获取推广二维码问题(获取access_token的时侯报错access_token is invalid or not latest hints)的主要内容,如果未能解决你的问题,请参考以下文章

微信公众号获取UnionID失败解决过程

微信公众平台的URL怎样获取

微信公众号 二维码场景统计 场景二维码

如何获取微信公众号的URL地址 用于HTML网页的

腾讯地图在微信公众号中获取当前位置

运营小技能:推广工号时的链接使用技巧 (历史页面地址话题地址定制关注二维码)