访问原始玩家个人资料图片

Accessing Raw Gamer Profile Picture

我正在使用新的 XBox Live API for C# (https://github.com/Microsoft/xbox-live-api-csharp) 通过 UWP 应用程序进行官方访问。

我能够很好地进行身份验证并在上下文中引用 XBox Live 用户。

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

成功!但是,我似乎找不到对 return XboxUserProfileXboxSocialProfile 的适当 API 调用。这两个 类 都包含玩家原始玩家图片的 URL。在查看了 MSDN 文档和 GH 库之后,我不清楚这是如何实现的。非常感谢任何帮助。

如果您满足以下先决条件,则以下示例应该有效:

  1. 从您的项目中引用包含 API 的共享项目,而不引用 "Microsoft.Xbox.Services.UWP.CSharp" 项目
  2. 将 "Microsoft.Xbox.Services.UWP.CSharp" 项目中的所有源代码文件复制到您的项目中
  3. 将 Newtonsoft.Json NuGet 包包含到您的项目中

第 1 步和第 2 步很重要,因为这允许您访问 "internal" 构造函数,否则您将受到保护。

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

        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
        }

您可能仍然 运行 遇到像我一样的问题。构建项目时,您可能会遇到以下错误:

Error CS0103 The name 'UserPicker' does not exist in the current context ...\System\UserImpl.cs 142 Active

如果您遇到该错误,请确保您的目标是 Win 10.0 Build 14393。