예제 #1
0
        public void DeleteMessage(int messageId)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({Config.XboxUserId})/inbox/{messageId}", Method.DELETE);

            request.AddHeaders(Headers);

            IRestResponse response = HttpClient.Execute(request);
        }
예제 #2
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);
        }
예제 #3
0
        public PeopleSummaryResponse GetFriendsSummary(string gamertag)
        {
            RestRequestEx request = new RestRequestEx($"users/gt({gamertag})/summary", Method.GET);

            request.AddHeaders(Headers);

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

            return(response.Data);
        }
예제 #4
0
        public PeopleSummaryResponse GetFriendsSummary(ulong xuid)
        {
            RestRequestEx request = new RestRequestEx($"users/xuid({xuid})/summary", Method.GET);

            request.AddHeaders(Headers);

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

            return(response.Data);
        }
예제 #5
0
        public PeopleResponse GetFriends()
        {
            RestRequestEx request = new RestRequestEx("users/me/people", Method.GET);

            request.AddHeaders(Headers);

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

            return(response.Data);
        }
예제 #6
0
        public ConversationResponse GetConversation(ulong xuid)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({Config.XboxUserId})/inbox/conversations/xuid({xuid})", Method.GET);

            request.AddHeaders(Headers);

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

            return(response.Data);
        }
예제 #7
0
        public MessageResponse GetMessage(int messageId)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({Config.XboxUserId})/inbox/{messageId}", Method.GET);

            request.AddHeaders(Headers);

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

            return(response.Data);
        }
예제 #8
0
        public void GetAchievementsXbox360RecentProgress(ulong xuid)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({xuid})/history/titles", Method.GET);

            request.AddHeaders(Headers_X360);

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #9
0
        public void GetAchievementDetail(ulong xuid, string scid, string achievementId)
        {
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({xuid})/achievements/{scid}/{achievementId}", Method.GET);

            request.AddHeaders(Headers_XONE);

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #10
0
        public PresenceResponse GetPresence(ulong xuid, PresenceLevel level = PresenceLevel.All)
        {
            PresenceRequestQuery query   = new PresenceRequestQuery(level);
            RestRequestEx        request = new RestRequestEx($"users/xuid({xuid})", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

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

            return(response.Data);
        }
예제 #11
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);
        }
예제 #12
0
        public void GetChannelList(Guid lineupId)
        {
            EDSLineupRequestQuery query   = new EDSLineupRequestQuery(lineupId);
            RestRequestEx         request = new RestRequestEx(
                $"media/{this.Config.Locale.Locale}/tvchannels", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #13
0
        public void GetAchievementsXbox360Earned(ulong xuid, ulong titleId)
        {
            AchievementRequestQuery query   = new AchievementRequestQuery(titleId);
            RestRequestEx           request = new RestRequestEx(
                $"users/xuid({xuid})/achievements", Method.GET);

            request.AddHeaders(Headers_X360);
            request.AddQueryParameters(query.GetQuery());

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #14
0
        public void GetChannelList(string localeInfo, Guid headendId)
        {
            CQSLineupRequestQuery query   = new CQSLineupRequestQuery();
            RestRequestEx         request = new RestRequestEx(
                $"epg/{localeInfo}/lineups/{headendId}/channels", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #15
0
        public ConversationsResponse GetConversations(int skipItems = 0, int maxItems = 100)
        {
            MessageInboxRequestQuery query = new MessageInboxRequestQuery(
                skipItems, maxItems);
            RestRequestEx request = new RestRequestEx(
                $"users/xuid({Config.XboxUserId})/inbox/conversations", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

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

            return(response.Data);
        }
예제 #16
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);
        }
예제 #17
0
        public void GetSchedule(string localeInfo, Guid headendId,
                                DateTime startDate, int durationMinutes,
                                int channelSkip, int channelCount)
        {
            EDSScheduleRequestQuery query = new EDSScheduleRequestQuery(
                startDate, durationMinutes, channelSkip, channelCount);
            RestRequestEx request = new RestRequestEx(
                $"epg/{localeInfo}/lineups/{headendId}/programs", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

            IRestResponse response = HttpClient.Execute(request);

            Console.WriteLine(response.Content);
        }
예제 #18
0
        private ProfileResponse _GetProfile(string resource, ProfileSetting[] settings = null)
        {
            RestRequestEx request = new RestRequestEx(resource, Method.GET);

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

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

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

            return(response.Data);
        }
예제 #19
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);
        }