unionId突然不能获取的踩坑记录

昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了。后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的。

在网页授权获取用户基本信息的介绍中(http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html),unionid可以在第二步(https://api.weixin.qq.com/sns/oauth2/access_token)和第四步的2个接口中获得。其中,第四步的接口是要求用户授权才能用,而第二步的接口(https://api.weixin.qq.com/sns/oauth2/access_token)则不用(之前测试过)。

但是在昨天发现接口调取失败这事以后,我在本地测试发现这个第二步的(https://api.weixin.qq.com/sns/oauth2/access_token),突然也变成需要网友授权才能用。这就需要更改用户授权作用域的参数类型(scope参数)。

感言:这项改动在之前是毫无征兆的,感觉是腾讯这边单方面提高了接口使用的安全等级(scope参数)。从安全角度说是可以可以理解的,但是在毫无通知的情况下单方面提高接口的等级,这种行为对开发者是很不友好的。这就是我昨天微信接口的踩坑记录。

原文地址:https://www.cnblogs.com/xujanus/p/5180336.html