Пример #1
0
        private Evbpc.Framework.Integrations.StackExchange.API.Models.User GetUserInformation(string accessToken)
        {
            var config    = StackExchangeApiConfiguration.Load();
            var apiConfig = new Evbpc.Framework.Integrations.StackExchange.API.Configuration()
            {
                Key         = config.Key,
                AccessToken = accessToken
            };

            var request = new Evbpc.Framework.Integrations.StackExchange.API.Requests.MeAssociatedRequest()
            {
                PageSize = 100, Types = Evbpc.Framework.Integrations.StackExchange.API.Requests.MeAssociatedRequest.AccountTypes.MainSite
            };
            var handler  = new Evbpc.Framework.Integrations.StackExchange.API.Handler(apiConfig);
            var response = handler.SubmitRequest(request);

            var myUsers = handler.ProcessResponse <Evbpc.Framework.Integrations.StackExchange.API.Models.NetworkUser>(response).Items;

            var meRequest = new Evbpc.Framework.Integrations.StackExchange.API.Requests.MeRequest()
            {
                Site = new Uri(myUsers[0].SiteUrl).Host
            };
            var user = handler.ProcessResponse <Evbpc.Framework.Integrations.StackExchange.API.Models.User>(handler.SubmitRequest(meRequest)).Items[0];

            user.Reputation = myUsers.Sum(x => x.Reputation);

            return(user);
        }
Пример #2
0
        private List <SEAPI.Models.NetworkUser> GetAssociatedUsers(ApplicationUser user)
        {
            var apiConfig = StackExchangeApiConfiguration.Load();
            var config    = new SEAPI.Configuration()
            {
                AccessToken = user.AccessToken, Key = apiConfig.Key
            };
            var request = new SEAPI.Requests.MeAssociatedRequest()
            {
                PageSize = 100, Types = SEAPI.Requests.MeAssociatedRequest.AccountTypes.MainSite
            };
            var handler  = new SEAPI.Handler(config);
            var response = handler.ProcessResponse <SEAPI.Models.NetworkUser>(handler.SubmitRequest(request));

            return(response.Items);
        }