【微信开发】获取微信头像的问题

前几天做的一个项目,微信助力活动,需要获取微信用户的头像,然后存表,在获取微信头像的时候,遇到了两个问题,可能很普通的问题,解决起来也很好解决!



  • 问题一Accesstoken 问题(获取信息接口的问题)

网页授权的 AccessToken 和获取用户信息的 AccessToken 不是一个东西。

也就是获取用户信息接口地址应是

https://api.weixin.qq.com/sns/userinfo

而不是

https://api.weixin.qq.com/cgi-bin/user/info

  • 问题二 48001错误问题

微信错误: 微信登录提示48001,{“errcode”:48001,”errmsg”:”api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]”}
原因:
①:你的服务号必须是通过腾讯认证,每年是300元,如果没有认证而导致的错误提示,那就去认证,别往下看了!如果你已认证,本条原因排除,那么请继续往下看
②:你是否是第三方网页,第三方网页的话,那么你的url地址里面的scope这个参数要填写”snsapi_userinfo”,否则会报这个错!原因如下!
URL地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state=ok#wechat_redirect

scope参数对应值的解释:
snsapi_base 不需要用户点同意,直接跳转到授权后的页面,只能用于获取openid,不能获取用户基本信息
snsapi_userinfo 会征求用户同意,授权后,可以获取用户基本信息

需要snsapi_userinfo 的授权域,不然就会拿不到头像啦



  • 问题三 机械返回的问题

当微信回调地址拼上code参数之后,就会用code拿到头像,但是如果我们点进下一个链接,然后在通过手机返回之前拼接的code页面之时,那个连接的code 则会失效,则我们需要重新获取认证

           if(isset($wx_arr['errcode'])){  //当手机机械按钮返回的时候code已经使用过会出现报错  需要重新拿code <br>
            $return_url = '/wap/activityhelp-1.html?uid='.$_GET['uid'].'&amp;model='.$_GET['model']; <br>
            $return_url = 'http://'.$_SERVER['HTTP_HOST'].$return_url; <br>
            if($_GET['time']) { <br>
                $return_url = $return_url.'&amp;time='.$_GET['time']; <br>
            } <br>
            $appId_to_get_code = trim($wxpayjsapi_conf['setting']['appId']); <br>
            $wechat_object->get_code($appId_to_get_code, $return_url); <br>
        }</li>
</ul>
微信小程序开发中,获取用户头像和昵称的方法已经发生了变化。以前常用的方法如wx.getUserInfo和wx.getUserProfile已经不再支持获取用户头像昵称的功能。现在,为了保护用户隐私和提高用户体验,微信小程序需要通过用户授权才能获取头像昵称等敏感信息。 目前,获取用户头像和昵称的常用方法是通过使用button组件,并设置open-type属性为getUserProfile来获取用户的头像和昵称。当用户点击这个button时,会弹出授权框,用户可以选择是否授权给小程序获取头像和昵称信息。一旦用户授权,就可以通过event.detail.userInfo获取到用户的头像和昵称。 需要注意的是,为了保护用户隐私,微信小程序对获取用户头像和昵称的权限进行了限制。开发者需要在小程序管理后台进行相应的配置,包括设置业务域名和配置授权设置等。具体的配置步骤可以参考微信小程序的官方文档。 总结起来,微信小程序开发获取用户头像和昵称的方法已经发生了变化,现在需要使用button组件并设置open-type属性为getUserProfile来获取用户授权,通过event.detail.userInfo来获取用户的头像和昵称。但需要注意在小程序管理后台进行相应的配置以及保护用户隐私的要求。123 #### 引用[.reference_title] - *1* *2* [微信小程序获取用户头像昵称](https://blog.csdn.net/m0_61443432/article/details/130257744)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [微信小程序授权获取头像昵称的最新形式——头像昵称填写](https://blog.csdn.net/qq_38970408/article/details/127754307)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值