예제 #1
0
        private void SendMessage(MessageSendRequest postData)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({Config.XboxUserId})/outbox", Method.POST);

            request.AddHeaders(Headers);
            request.AddJsonBody(postData, JsonNamingStrategy.CamelCase);

            IRestResponse response = HttpClient.Execute(request);
        }
예제 #2
0
        public static DeviceToken AuthenticateXASD(AccessToken accessToken)
        {
            RestClientEx  client  = ClientFactory("https://device.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("device/authenticate", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XASDRequest(accessToken));
            IRestResponse <XASResponse> response = client.Execute <XASResponse>(request);

            return(new DeviceToken(response.Data));
        }
        public static async Task <UserToken> AuthenticateXASUAsync(AccessToken accessToken)
        {
            RestClientEx  client  = ClientFactory("https://user.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("user/authenticate", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XASURequest(accessToken));
            IRestResponse <XASResponse> response = await client.ExecuteTaskAsync <XASResponse>(request);

            return(new UserToken(response.Data));
        }
예제 #4
0
        public PeopleResponse GetFriendsOwnBatch(ulong[] xuids)
        {
            PeopleBatchRequest body    = new PeopleBatchRequest(xuids);
            RestRequestEx      request = new RestRequestEx("users/me/people/xuids", Method.POST);

            request.AddHeaders(Headers);
            request.AddJsonBody(body, JsonNamingStrategy.CamelCase);

            IRestResponse <PeopleResponse> response = HttpClient.Execute <PeopleResponse>(request);

            return(response.Data);
        }
예제 #5
0
        public PresenceBatchResponse GetPresenceBatch(ulong[] xuids,
                                                      PresenceLevel level = PresenceLevel.All,
                                                      bool onlineOnly     = false)
        {
            PresenceBatchRequest body    = new PresenceBatchRequest(xuids, level, onlineOnly);
            RestRequestEx        request = new RestRequestEx("users/batch", Method.POST);

            request.AddHeaders(Headers);
            request.AddJsonBody(body, JsonNamingStrategy.CamelCase);

            IRestResponse <PresenceBatchResponse> response = HttpClient.Execute <PresenceBatchResponse>(request);

            return(response.Data);
        }
예제 #6
0
        public static XToken AuthenticateXSTS(UserToken userToken,
                                              DeviceToken deviceToken = null,
                                              TitleToken titleToken   = null)
        {
            RestClientEx  client  = ClientFactory("https://xsts.auth.xboxlive.com");
            RestRequestEx request = new RestRequestEx("xsts/authorize", Method.POST);

            request.AddHeader("x-xbl-contract-version", "1");
            request.AddJsonBody(new XSTSRequest(userToken,
                                                deviceToken: deviceToken,
                                                titleToken: titleToken));
            IRestResponse <XASResponse> response = client.Execute <XASResponse>(request);

            return(new XToken(response.Data));
        }
예제 #7
0
        public ProfileResponse GetProfilesBatch(ulong[] xuids, ProfileSetting[] settings = null)
        {
            RestRequestEx request = new RestRequestEx("users/batch/profile/settings",
                                                      Method.POST);

            ProfileSetting[] profileSettings = settings != null ? settings : new ProfileSetting[]
            {
                ProfileSetting.AppDisplayName, ProfileSetting.Gamerscore,
                ProfileSetting.Gamertag, ProfileSetting.PublicGamerpic,
                ProfileSetting.XboxOneRep, ProfileSetting.RealName
            };
            ProfilesRequest body = new ProfilesRequest(xuids, profileSettings);

            request.AddHeaders(Headers);
            request.AddJsonBody(body, JsonNamingStrategy.CamelCase);

            IRestResponse <ProfileResponse> response = HttpClient.Execute <ProfileResponse>(request);

            return(response.Data);
        }