我正在使用新的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调用来返回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 名称"用户选取器"在当前 上下文 ...\系统\用户Impl.cs 142 活动
如果收到该错误,请确保以 Win 10.0 内部版本 14393 为目标。