Home >Backend Development >PHP Tutorial >微信获取用户基本信息,头像是一张“暂时无法查看”的图?
是这个 http://wx.qlogo.cn/mmopen/UAqwJ95HSLycmQktIqAYuexoytJ3kJzknQ4icJkNpfUvxfqoNRDY2esKQj3YvxXuQacsu9fYKDQ1VUSVBxspic4MwNDTF4Z4zu/0
我看到的图是下面这样的,以前这个用户的头像是正常的,但是最近发现变成这样了,他也没有换微信头像的。
会不会是微信的头像地址改了?
现在可以了,我重新给他向微信获取了一遍信息,原来的图片url就可以用了,而且我发现微信有个逻辑变了:以前用户授权过之后,需要再次获取用户信息的时候只要发起snsapi_base
的请求就可以了,现在不行,必须发起snsapi_userinfo
的请求,否则会报48001错误(api功能未授权,请确认公众号已获得该接口,可以在公众平台官网-开发者中心页中查看接口权限),而且再次发起snsapi_userinfo
的请求不会弹出需要用户点击授权的页面,也不会提示“你近期已授权过...”。
现在问题来了,我怎么判断图片是上面截图的样子?以便我及时重新获取一遍他的信息?
是这个 http://wx.qlogo.cn/mmopen/UAqwJ95HSLycmQktIqAYuexoytJ3kJzknQ4icJkNpfUvxfqoNRDY2esKQj3YvxXuQacsu9fYKDQ1VUSVBxspic4MwNDTF4Z4zu/0
我看到的图是下面这样的,以前这个用户的头像是正常的,但是最近发现变成这样了,他也没有换微信头像的。
会不会是微信的头像地址改了?
现在可以了,我重新给他向微信获取了一遍信息,原来的图片url就可以用了,而且我发现微信有个逻辑变了:以前用户授权过之后,需要再次获取用户信息的时候只要发起snsapi_base
的请求就可以了,现在不行,必须发起snsapi_userinfo
的请求,否则会报48001错误(api功能未授权,请确认公众号已获得该接口,可以在公众平台官网-开发者中心页中查看接口权限),而且再次发起snsapi_userinfo
的请求不会弹出需要用户点击授权的页面,也不会提示“你近期已授权过...”。
现在问题来了,我怎么判断图片是上面截图的样子?以便我及时重新获取一遍他的信息?
问题1: file_get_contents
回来就好啦~你出现那个图的原因是Curl
的时候的头的问题引起的。或者直接用SDK拉。
问题2: snsapi_base
是基础权限,只能拿到昵称头像,其他权限都没的。包括之前的unionid
,也莫名其妙的没了。微信规范权限了。snsapi_userinfo
是用户信息的,除了头像昵称之外,拥有其他所有API权限的。至于你那个不用授权也没近期什么的是因为微信的强缓存。直接缓存了跳转后的链接,而那个链接你又是有效的原因,不是每个人都不弹的。
最后那个问题。。嗯嗯,如果真的要判断。你去获取一张显示那样的图,拿回来后记录下文件内容的大小,或者md5。。得到一样的就当那是截图那样咯~~哈哈。
有木有获取用户信息,包括 用户名 和头像的,谢谢分享742538662@qq. com