Доступ к изображению профиля Raw Gamer

Я использую новый API XBox Live для 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 мне не ясно, как это достигается. Любая помощь с благодарностью.

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 Active

Если вы получаете эту ошибку, убедитесь, что вы нацелены на Win 10.0 Build 14393.

Другие вопросы по тегам