Xbox live 访问原始玩家档案图片

Xbox live 访问原始玩家档案图片,xbox-live,Xbox Live,我正在使用新的XBox Live API for C#(),通过UWP应用程序进行官方访问 我能够在上下文中验证和引用XBox Live用户 SignInResult result = await user.SignInAsync(); XboxLiveUser user = new XboxLiveUser(); 成功!然而,我似乎找不到合适的API调用来返回XboxUserProfile或XboxSocialProfile。这两个类都包含指向玩家原始玩家图片的URL。在查看MSDN文档和

我正在使用新的XBox Live API for C#(),通过UWP应用程序进行官方访问

我能够在上下文中验证和引用XBox Live用户

SignInResult result = await user.SignInAsync(); 
XboxLiveUser user = new XboxLiveUser();

成功!然而,我似乎找不到合适的API调用来返回XboxUserProfile或XboxSocialProfile。这两个类都包含指向玩家原始玩家图片的URL。在查看MSDN文档和GH库后,我不清楚这是如何实现的。非常感谢您的帮助。

如果您满足以下先决条件,下面的示例将起作用:

  • 引用包含项目中API的共享项目,不要引用“Microsoft.Xbox.Services.UWP.CSharp”项目
  • 将“Microsoft.Xbox.Services.UWP.CSharp”项目中的所有源代码文件复制到您的项目中
  • 将Newtonsoft.Json NuGet包包含到项目中
  • 步骤1和2非常重要,因为这允许您访问“内部”构造函数,否则这些构造函数将受到保护

    检索配置文件数据的代码:

            XboxLiveUser user = new XboxLiveUser();
            await user.SignInSilentlyAsync();
    
            if (user.IsSignedIn)
            {
                XboxLiveContext context = new XboxLiveContext(user);
                PeopleHubService peoplehub = new PeopleHubService(context.Settings, context.AppConfig);
                XboxSocialUser socialuser = await peoplehub.GetProfileInfo(user, SocialManagerExtraDetailLevel.None);
                // Do whatever you want to do with the data in socialuser
            }
    
    你可能仍然会遇到像我一样的问题。构建项目时,您可能会遇到以下错误:

    错误CS0103当前数据库中不存在名称“UserPicker” 上下文…\System\UserImpl.cs 142处于活动状态


    如果出现错误,请确保目标为Win 10.0 Build 14393。

    谢谢,茨威斯坦!对于可能关注stackoverflow的Xbox live API开发人员。。。我很想了解隐藏这些数据背后的原理。我不认为他们隐藏了这些信息。在另一个帮助请求中,我了解到目前使用API的唯一方法是将其合并到项目中。他们计划稍后发布一个NuGet软件包,但没有提到日期。没错,我们没有隐藏信息。它可以使用SocialManager类访问,但现在有点复杂。它将被简化。有关如何使用SocialManager获取用户配置文件信息的示例,请参见Unity插件()中的UserProfile脚本。SocialManager为您处理缓存和更新数据,这就是为什么它比直接使用PeopleHubService更受欢迎的原因。老实说,PeopleHub有点直截了当,但从长远来看,我可以看出SocialManager的优势。