【问题标题】:Accessing Raw Gamer Profile Picture访问原始玩家资料图片
【发布时间】:2017-08-19 15:01:23
【问题描述】:

我正在使用新的 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 库之后,我不清楚这是如何实现的。非常感谢任何帮助。

【问题讨论】:

    标签: xbox-live


    【解决方案1】:

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

    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。

    【讨论】:

    • 谢谢,茨维斯坦!对于可能正在关注 stackoverflow 的 Xbox live API 开发人员......我很想了解隐藏这些数据背后的基本原理。
    • 我认为他们没有隐藏信息。在另一个帮助请求中,我读到目前使用 API 的唯一方法是将其合并到您的项目中。他们计划稍后发布 NuGet 包,但未提及日期。
    • 正确,我们没有隐藏信息。可以使用 SocialManager 类访问它,但现在它有点复杂。它将被简化。您可以从 Unity 插件 (github.com/Microsoft/xbox-live-unity-plugin/blob/master/Assets/…) 中查看 UserProfile 脚本,了解如何使用 SocialManager 获取用户个人资料信息的示例。 SocialManager 为您处理缓存和更新数据,这就是为什么它比直接使用 PeopleHubService 更受欢迎。
    • 说实话,PeopleHub 更直接一点,但从长远来看,我可以看到 SocialManager 的优势。
    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多