/// <summary> /// Возвращает коллекцию базовых профилей запрошенных пользователей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="userIDs">Коллекция идентификаторов пользователей, /// профили которых требуется получить.</param> /// <param name="nameCase">Падеж имени пользователя.</param> /// <exception cref="ArgumentOutOfRangeException"></exception> public void GetBaseUsers(Action <VKResponse <List <VKProfileBase> > > callback, List <long> userIDs = null, VKUserNameCase nameCase = VKUserNameCase.nom) { if (userIDs != null && (userIDs.Count == 0 || userIDs.Count() > 100)) { throw new ArgumentOutOfRangeException("userIDs", "Коллекция идентификаторов должна содержать от одного до ста элементов. " + "Если вам требуется получить профиль текущего пользователя, используйте null."); } var parameters = new Dictionary <string, string>(); parameters["fields"] = "status,online,online_mobile,photo_50,photo_100,photo_200"; if (nameCase != VKUserNameCase.nom) { parameters["name_case"] = nameCase.ToString(); } if (userIDs != null) { if (userIDs.Count == 1) { parameters["user_ids"] = userIDs.First().ToString(); } else { parameters["user_ids"] = String.Join(",", userIDs); } } VKHelper.GetResponse <List <VKProfileBase> >(VKMethodsConstants.UsersGet, parameters, callback); }
/// <summary> /// Возвращает коллекцию базовых профилей запрошенных пользователей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="userIDs">Коллекция идентификаторов пользователей, /// профили которых требуется получить.</param> /// <param name="nameCase">Падеж имени пользователя.</param> /// <exception cref="ArgumentOutOfRangeException"></exception> public void GetExtendedUsers(Action <VKResponse <List <VKProfileExtended> > > callback, List <long> userIDs = null, List <VKUserFields> fields = null, VKUserNameCase nameCase = VKUserNameCase.nom) { if (userIDs != null && (userIDs.Count == 0 || userIDs.Count() > 100)) { throw new ArgumentOutOfRangeException("userIDs", "Коллекция идентификаторов должна содержать от одного до ста элементов. " + "Если вам требуется получить профиль текущего пользователя, используйте null."); } if (fields != null && fields.Count() == 0) { throw new ArgumentOutOfRangeException("fields", "Коллекция полей должна содержать как минимум один элемент. " + "Если вам требуется получить все данные, используйте null."); } var parameters = new Dictionary <string, string>(); if (nameCase != VKUserNameCase.nom) { parameters["name_case"] = nameCase.ToString(); } if (userIDs != null) { if (userIDs.Count == 1) { parameters["user_ids"] = userIDs.First().ToString(); } else { parameters["user_ids"] = String.Join(",", userIDs); } } if (fields == null) { parameters["fields"] = "sex,bdate,city,country,photo_50,photo_100" + ",photo_200_orig,photo_200,photo_400_orig,photo_max,photo_max_orig,online,online_mobile" + ",has_mobile,site,education,universities,schools,can_post,can_see_all_posts" + ",can_see_audio,can_write_private_message,status,relation,occupation,activities" + ",interests,music,movies,tv,books,games,about,quotes"; } else { var builder = new StringBuilder(); for (int i = 0; i < fields.Count; i++) { builder.Append(fields[i] + ","); } parameters["fields"] = builder.ToString(); } VKHelper.GetResponse <List <VKProfileExtended> >(VKMethodsConstants.UsersGet, parameters, callback); }
/// <summary> /// Получить подписчиков пользователя. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="userID">Идентификатор пользователя.</param> /// <param name="count">Количество пользователей, которое требуется /// вернуть (не более 1000).</param> /// <param name="offset">Смещение относительно начала списка /// (не более 1000).</param> /// <param name="nameCase">Падеж имени пользователя.</param> /// <exception cref="ArgumentOutOfRangeException"></exception> public void GetFollowers(Action <VKResponse <VKCountedItemsObject <VKProfileBase> > > callback, long userID = 0, int count = 100, int offset = 0, VKUserNameCase nameCase = VKUserNameCase.nom) { if (count <= 0 || count > 1000) { throw new ArgumentOutOfRangeException("count", "Количество элементов должно быть больше нуля, но меньше 1000."); } if (offset < 0 || offset > 1000) { throw new ArgumentOutOfRangeException("offset", "Смещение должно быть не менее нуля, но не более 1000."); } if (userID < 0) { throw new ArgumentOutOfRangeException("userID", "Идентификатор пользователя не может быть отрицательным."); } var parameters = new Dictionary <string, string>(); if (userID > 0) { parameters["user_id"] = userID.ToString(); } if (count != 100) { parameters["count"] = count.ToString(); } if (offset > 0) { parameters["offset"] = offset.ToString(); } if (nameCase != VKUserNameCase.nom) { parameters["name_case"] = nameCase.ToString(); } VKHelper.GetResponse <VKCountedItemsObject <VKProfileBase> >(VKMethodsConstants.UserGetFollowers, parameters, callback); }