You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 3D中调用Oculus Users.GetLoggedInUser()获取DisplayName为空如何解决?

解决Unity中Oculus本地用户DisplayName为空的问题

你遇到的DisplayName为空的情况,是因为Users.GetLoggedInUser()仅返回基础用户信息,并未包含完整的用户资料字段。可以通过以下步骤解决:

  • 检查权限配置
    确保在Oculus开发者后台的应用权限设置中,开启了user_profile权限,同时在Unity的Oculus Platform插件设置里,确认已声明该权限。没有权限的话,无法获取用户的公开资料信息。

  • 调用Users.Get()拉取完整用户信息
    使用登录用户的ID,主动调用Users.Get()接口获取包含DisplayName的完整用户数据,示例代码如下:

    Users.GetLoggedInUser().OnComplete(loggedInMessage =>
    {
        if (!loggedInMessage.IsError)
        {
            var userId = loggedInMessage.GetUser().ID;
            // 拉取完整用户详情
            Users.Get(userId).OnComplete(userDetailsMessage =>
            {
                if (!userDetailsMessage.IsError)
                {
                    Oculus.Platform.Models.User fullUser = userDetailsMessage.GetUser();
                    string displayName = fullUser.DisplayName;
                    userId = fullUser.ID;
                    ImageURL = fullUser.ImageURL;
                    OculusID = fullUser.OculusID;
                    // 这里可正常获取所有字段
                }
                else
                {
                    OvrAvatarLog.LogError($"获取用户详情失败: {userDetailsMessage.GetError().Message}", "");
                }
            });
        }
        else
        {
            OvrAvatarLog.LogError($"获取登录用户失败: {loggedInMessage.GetError().Message}", "");
        }
    });
    
  • 验证账户隐私设置
    确认测试使用的Oculus账户已设置公开的DisplayName,部分用户会通过隐私设置隐藏自己的显示名称,导致接口返回空值。

内容的提问来源于stack exchange,提问作者Led Machine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:28:23