Пример #1
0
        public async Task <VkItemsResponse <VkProfile> > Get(IEnumerable <string> userIds, string fields = null, string nameCase = null)
        {
            var parameters = new Dictionary <string, string>();

            if (userIds != null)
            {
                parameters.Add("user_ids", string.Join(",", userIds));
            }

            if (!string.IsNullOrWhiteSpace(fields))
            {
                parameters.Add("fields", fields);
            }

            if (!string.IsNullOrWhiteSpace(nameCase))
            {
                parameters.Add("name_case", nameCase);
            }

            _vkontakte.SignMethod(parameters);

            var response = await VkRequest.GetAsync(VkConst.MethodBase + "users.get", parameters);

            if (response["response"] != null)
            {
                return(new VkItemsResponse <VkProfile>((from u in response["response"] select VkProfile.FromJson(u)).ToList()));
            }

            return(VkItemsResponse <VkProfile> .Empty);
        }
Пример #2
0
        public async Task <VkItemsResponse <VkProfile> > Get(IEnumerable <string> userIds, string fields = null, string nameCase = null)
        {
            if (_vkontakte.AccessToken == null || string.IsNullOrEmpty(_vkontakte.AccessToken.Token) || _vkontakte.AccessToken.HasExpired)
            {
                throw new Exception("Access token is not valid.");
            }

            var parameters = new Dictionary <string, string>();

            if (userIds != null)
            {
                parameters.Add("user_ids", string.Join(",", userIds));
            }

            if (!string.IsNullOrWhiteSpace(fields))
            {
                parameters.Add("fields", fields);
            }

            if (!string.IsNullOrWhiteSpace(nameCase))
            {
                parameters.Add("name_case", nameCase);
            }

            _vkontakte.SignMethod(parameters);

            var response = await new VkRequest(new Uri(VkConst.MethodBase + "users.get"), parameters).Execute();

            VkErrorProcessor.ProcessError(response);

            if (response.SelectToken("response") != null)
            {
                return(new VkItemsResponse <VkProfile>((from u in response["response"] select VkProfile.FromJson(u)).ToList()));
            }

            return(VkItemsResponse <VkProfile> .Empty);
        }