微信小程序获取用户信息nickname为“微信用户”

19

微信小程序获取用户信息nickname为“微信用户”

小程序获取用户信息的变化

最近两天,小程序开发者可能会发现,使用 `getUserProfile` API 获取用户信息时,nickname 都变成了 "微信用户"。这是一个突然出现的问题,让很多开发者感到困惑和担忧。

问题原因:getUserProfile API 被收回

经过调查和研究,我们发现,这个问题的原因是微信官方对 `getUserProfile` API 的使用政策发生了变化。从2023 年4 月开始,微信官方不再支持 `getUserProfile` API,用户信息获取能力被收回。

影响

这个变化会对很多小程序应用产生重大影响,因为它们依赖于 `getUserProfile` API 来获取用户的昵称、头像等信息。现在,这些应用可能无法正常工作或显示错误信息。

解决方案

虽然微信官方不再支持 `getUserProfile` API,但我们仍然可以通过其他方式来获取用户信息。以下是几个解决方案:

1. 使用 open-api微信开放平台提供了一个新的接口,称为 open-api,它允许开发者获取用户的基本信息,如昵称、头像等。

示例代码

```javascriptwx.cloud.callFunction({

name: 'open-api',

data: {

action: 'getUserInfo'

}

}).then(res => {

console.log(res.result.nickname);

console.log(res.result.avatarUrl);

});

```

2. 使用 wx.getUserProfile虽然 `getUserProfile` API 被收回,但微信官方仍然支持 `wx.getUserProfile` 这个方法。这个方法可以获取用户的昵称、头像等信息。

示例代码

```javascriptwx.getUserProfile({

desc: '获取用户信息',

success: res => {

console.log(res.nickname);

console.log(res.avatarUrl);

}

});

```

3. 使用 wx.cloud.callFunction微信云函数提供了一个 `callFunction` 方法,可以调用微信开放平台的接口。我们可以使用这个方法来获取用户信息。

示例代码

```javascriptwx.cloud.callFunction({

name: 'open-api',

data: {

action: 'getUserInfo'

}

}).then(res => {

console.log(res.result.nickname);

console.log(res.result.avatarUrl);

});

```

4. 使用第三方库有很多第三方库可以帮助我们获取用户信息,例如 `wx-user-profile` 等。

示例代码

```javascriptimport wxUserProfile from 'wx-user-profile';

wxUserProfile.getUserInfo().then(res => {

console.log(res.nickname);

console.log(res.avatarUrl);

});

```

以上是几个解决方案。开发者可以根据自己的需求选择合适的方法来获取用户信息。

注意

请注意,微信官方不再支持 `getUserProfile` API,这意味着这个接口可能会在未来被完全移除。因此,我们应该尽快迁移到新的接口或方法上。

参考

* 微信开放平台文档: wx.getUserProfile 文档: wx.cloud.callFunction 文档:

小程序微信小程序微信小程序

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 PC端微信打不开小程序解决

下一篇 微信小程序中的网络请求