3

我正在使用新的 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();

成功!但是,我似乎找不到合适的 API 调用来返回XboxUserProfileXboxSocialProfile。这两个类都包含玩家原始游戏图片的 URL。在查看了 MSDN 文档和 GH 库之后,我不清楚这是如何实现的。任何帮助是极大的赞赏。

4

1 回答 1

2

如果您满足以下先决条件,则以下示例应该可以工作:

  1. 引用包含您项目中的 API 的共享项目,不要引用“Microsoft.Xbox.Services.UWP.CSharp”项目
  2. 将“Microsoft.Xbox.Services.UWP.CSharp”项目中的所有源代码文件复制到您的项目中
  3. 将 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。

于 2017-03-27T12:46:13.343 回答