Beispiel #1
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);
        }
        public static async Task <WindowsLiveResponse> RefreshLiveTokenAsync(
            RefreshToken refreshToken)
        {
            RestClientEx client = ClientFactory("https://login.live.com",
                                                JsonNamingStrategy.SnakeCase);
            RestRequestEx       request = new RestRequestEx("oauth20_token.srf", Method.GET);
            NameValueCollection nv      = new Model.WindowsLiveRefreshQuery(refreshToken).GetQuery();

            request.AddQueryParameters(nv);
            IRestResponse <WindowsLiveResponse> response = await client.ExecuteTaskAsync <WindowsLiveResponse>(request);

            return(response.Data);
        }
Beispiel #3
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);
        }
Beispiel #4
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);
        }
Beispiel #5
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);
        }
Beispiel #6
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);
        }
Beispiel #7
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));
        }
        public CatalogOverviewResponse GetCatalogOverview()
        {
            CatalogOverviewRequestQuery query = new CatalogOverviewRequestQuery(Locale);

            RestRequestEx request = new RestRequestEx(
                $"Catalog/Catalog.asmx/Query", Method.GET);
            List <Tuple <string, string> > q = query.GetQuery();

            // Query contains duplicate keys, hence following add-method
            q.ForEach(x => request.AddQueryParameter(x.Item1, x.Item2));

            IRestResponse <CatalogOverviewResponse> response = _httpClient.Execute <CatalogOverviewResponse>(request);

            return(response.Data);
        }
Beispiel #9
0
        public CatalogItemResponse GetCatalogItem(Guid productId)
        {
            CatalogItemRequestQuery query = new CatalogItemRequestQuery();

            RestRequestEx request = new RestRequestEx(
                $"marketplacecatalog/v1/product/{Locale.Locale}/{productId}", Method.GET);

            request.AddQueryParameters(query.GetQuery());

            IRestResponse <CatalogItemResponse> response = _httpClient
                                                           .Execute <CatalogItemResponse>(request);

            Console.WriteLine(response.Content);
            return(response.Data);
        }
Beispiel #10
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);
        }
        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);
        }
        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);
        }