public User Get(long userId, ProfileFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => userId); var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase }, { "user_ids", userId } }; VkResponseArray response = _vk.Call("users.get", parameters, true); return response[0]; }
public ReadOnlyCollection<User> Get([NotNull] IEnumerable<long> userIds, ProfileFields fields = null, NameCase nameCase = null) { if (userIds == null) throw new ArgumentNullException("userIds"); var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase } }; parameters.Add("user_ids", userIds); VkResponseArray response = _vk.Call("users.get", parameters); return response.ToReadOnlyCollectionOf<User>(x => x); }
public ReadOnlyCollection<User> Get(long uid, ProfileFields fields = null, int? count = null, int? offset = null, FriendsOrder order = null, NameCase nameCase = null, int? listId = null) { if(listId != null && listId < 0) throw new ArgumentOutOfRangeException("listId", "listId must be a positive number."); var parameters = new VkParameters { { "user_id", uid }, { "fields", fields }, { "count", count }, { "offset", offset }, { "order", order }, {"list_id", listId} , {"name_case", nameCase}}; var response = _vk.Call("friends.get", parameters); if (fields != null) return response["items"].ToReadOnlyCollectionOf<User>(x => x); return response.ToReadOnlyCollectionOf(id => new User { Id = id }); }
public User Get(int userId, ProfileFields[] fields = null, NameCase nameCase = NameCase.nom) { NameValueCollection qs = new NameValueCollection(); qs["uids"] = userId.ToString(); if (fields != null) qs["fields"] = String.Join(",", from field in fields select field.ToString()); qs["name_case"] = nameCase.ToString(); XmlDocument answer = VkResponse.ExecuteCommand("users.get", qs); XmlNode usersNodes = answer.SelectSingleNode("response/user"); User user = new User(usersNodes); return user; }
public ReadOnlyCollection<User> GetAllFollowers(long? userId = null, ProfileFields fields = null, NameCase nameCase = null) { const int count = 1000; var i = 0; var result = new List<User>(); do { var currentItems = _users.GetFollowers(userId, count, i * count, fields, nameCase); if (currentItems != null) result.AddRange(currentItems); } while (++i * count < (_vk.CountFromLastResponse ?? 0)); return result.ToReadOnlyCollection(); }
public ReadOnlyCollection<User> GetAll(long uid, ProfileFields fields = null, FriendsOrder order = null, NameCase nameCase = null, int? listId = null) { const int count = 50; var i = 0; var result = new List<User>(); do { var currentItems = _friends.Get(uid, fields, count, i * count, order, nameCase, listId); if (currentItems != null) result.AddRange(currentItems); } while (++i * count < (_vk.CountFromLastResponse ?? 0)); return result.ToReadOnlyCollection(); }
public User Get(int userId, ProfileFields field = ProfileFields.all, NameCase nameCase = NameCase.nom) { if (field == ProfileFields.all) { var values = Enum.GetValues(typeof(ProfileFields)); List<ProfileFields> allfields = new List<ProfileFields>(); for (int i = 0; i < values.Length; i++) { if ((ProfileFields)values.GetValue(i) != ProfileFields.all) allfields.Add((ProfileFields)values.GetValue(i)); } return Get(userId, allfields.ToArray(), nameCase); } return Get(userId, new[] { field }, nameCase); }
public ReadOnlyCollection<User> Get(long uid, ProfileFields fields = null, int? count = null, int? offset = null, FriendsOrder order = null, NameCase nameCase = null, int? listId = null) { if (listId != null && listId < 0) throw new ArgumentOutOfRangeException("listId", "listId must be a positive number."); var parameters = new FriendsGetParams { UserId = uid, Count = count, Offset = offset, Fields = fields, NameCase = nameCase, ListId = listId, Order = order }; return Get(parameters).ToReadOnlyCollection(); }
public List<User> Get(List<int> userIds, ProfileFields[] fields = null, NameCase nameCase = NameCase.nom) { List<User> users = new List<User>(); NameValueCollection qs = new NameValueCollection(); qs["uids"] = String.Join(",", from id in userIds select id); if (fields != null) qs["fields"] = String.Join(",", from field in fields select field.ToString()); qs["name_case"] = nameCase.ToString(); XmlDocument answer = VkResponse.ExecuteCommand("users.get", qs); XmlNodeList usersNodes = answer.SelectNodes("response/user"); if (usersNodes != null) foreach (XmlNode user in usersNodes) { users.Add(new User(user)); } return users; }
public ReadOnlyCollection<User> GetChatUsers(IEnumerable<long> chatIds, UsersFields fields, NameCase nameCase) { var parameters = new VkParameters { { "chat_ids", chatIds }, { "fields", fields }, { "name_case", nameCase } }; var response = _vk.Call("messages.getChatUsers", parameters); return response.ToReadOnlyCollectionOf(x => fields != null ? x : new User { Id = (long)x }); }
public async Task <ReadOnlyCollection <User> > GetAsync([NotNull] IEnumerable <string> screenNames, ProfileFields fields = null, NameCase nameCase = null) { if (screenNames == null) { throw new ArgumentNullException("screenNames"); } var parameters = new VkParameters { { "user_ids", screenNames }, { "fields", fields }, { "name_case", nameCase } }; VkResponseArray response = await _vk.CallAsync("users.get", parameters); return(response.ToReadOnlyCollectionOf <User>(x => x)); }
public ReadOnlyCollection<User> GetInvitedUsers(long groupId, out int userCount, long? offset = null, long? count = null, UsersFields fields = null, NameCase nameCase = null) { var response = GetInvitedUsers(groupId, offset, count, fields, nameCase); userCount = Convert.ToInt32(response.TotalCount); return response.ToReadOnlyCollection(); }
public NewsBannedExList GetBannedEx(UsersFields fields = null, NameCase nameCase = null) { var parameters = new VkParameters { { "extended", true }, { "fields", fields }, { "name_case", nameCase } }; return _vk.Call("newsfeed.getBanned", parameters); }
public User Get([NotNull] string screenName, ProfileFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNullOrEmpty(() => screenName); ReadOnlyCollection<User> users = Get(new[] {screenName}, fields, nameCase); return users.Count > 0 ? users[0] : null; }
/// <summary>Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра</summary> /// <param name="uid">идентификатор пользователя, для которого необходимо получить список друзей</param> /// <param name="fields">перечисленные через запятую поля анкет, необходимые для получения</param> /// <param name="name_case">падеж для склонения имени и фамилии пользователя</param> /// <param name="count">количество друзей, которое нужно вернуть</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества друзей</param> /// <param name="lid">идентификатор списка друзей, полученный методом friends</param> /// <param name="order">Порядок в котором нужно вернуть список друзей</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> private VKResponseBase get(System.Int64? uid, ProfileFields? fields, NameCase? name_case, System.Int32? count, System.Int32? offset, System.Int64? lid, string order) { manager.AddValueByName("@uid", uid); manager.AddValueByName("@fields", fields); manager.AddValueByName("@name_case", name_case); manager.AddValueByName("@count", count); manager.AddValueByName("@offset", offset); manager.AddValueByName("@lid", lid); manager.AddValueByName("@order", order); return new VKResponseBase(GetResponse("get"), IsXMLResponse); }
/// <summary>Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра</summary> /// <param name="uid">идентификатор пользователя, для которого необходимо получить список друзей</param> /// <param name="fields">перечисленные через запятую поля анкет, необходимые для получения</param> /// <param name="name_case">падеж для склонения имени и фамилии пользователя</param> /// <param name="count">количество друзей, которое нужно вернуть</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества друзей</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> public VKResponseBase Get(int uid, ProfileFields fields, NameCase name_case, System.Int32? count = null, System.Int32? offset = null) { return get(uid, fields, name_case, count, offset, null, null); }
public async Task<EntityList<User>> FriendsGetAsync( uint? userId = null, uint? listId = null, UserFields fields = UserFields.None, UserSortOrder order = UserSortOrder.ById, NameCase nameCase = NameCase.Nom, uint offset = 0, uint count = 100 ){ return (await Executor.ExecAsync( _reqapi.FriendsGet( userId, listId, fields, order, nameCase, offset, count ) )).Data.FirstOrDefault(); }
public async Task<User[]> UsersGetAsync( UserFields fields = UserFields.None, NameCase nameCase = NameCase.Nom, params uint[] userIds ){ return (await Executor.ExecAsync( _reqapi.UsersGet( fields, nameCase, userIds ) )).Data; }
public ReadOnlyCollection <User> GetFollowers(long?userId = null, int?count = null, int?offset = null, ProfileFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => userId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "user_id", userId }, { "offset", offset }, { "count", count }, { "fields", fields }, { "name_case", nameCase } }; VkResponseArray response = _vk.Call("users.getFollowers", parameters); // проверка: возвращается массив объектов или только идентификаторы пользователей if (response.Count > 0 && response[0].ContainsKey("id")) { return(response.ToReadOnlyCollectionOf <User>(x => x)); } return(response.ToReadOnlyCollectionOf(x => new User { Id = x })); }
public async Task<EntityList<User>> UsersGetFollowersAsync( uint? userId = null, UserFields fields = UserFields.None, NameCase nameCase = NameCase.Nom, uint offset = 0, uint count = 100 ){ return (await Executor.ExecAsync( _reqapi.UsersGetFollowers( userId, fields, nameCase, offset, count ) )).Data.FirstOrDefault(); }
/// <summary> /// Возвращает список профилей пользователей, которые могут быть друзьями текущего пользователя. /// </summary> /// <param name="filter">Типы предлагаемых друзей, которые нужно вернуть, перечисленные через запятую.</param> /// <param name="count">Количество рекомендаций, которое необходимо вернуть. положительное число, максимальное значение 500, по умолчанию 500 (положительное число, максимальное значение 500, по умолчанию 500).</param> /// <param name="offset">Смещение, необходимое для выбора определённого подмножества списка. положительное число (положительное число).</param> /// <param name="fields">Список дополнительных полей, которые необходимо вернуть. Доступные значения: nickname, screen_name, sex, bdate, city, country, timezone, photo_50, photo_100, photo_200_orig, has_mobile, contacts, education, online, counters, relation, last_seen, status, can_write_private_message, can_see_all_posts, can_post, universities список строк, разделенных через запятую(список строк, разделенных через запятую).</param> /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя. Возможные значения: именительный – nom, родительный – gen, дательный – dat, винительный – acc, творительный – ins, предложный – abl. По умолчанию nom. строка (строка).</param> /// <returns> /// После успешного выполнения возвращает список объектов пользователей с дополнительным полем found_with для пользователей, найденных через импорт контактов. Для некоторых пользователей, которые были найдены давно поле found_with может отсутствовать. /// </returns> /// <remarks> /// Страница документации ВКонтакте <see href="http://vk.com/dev/friends.getSuggestions" />. /// </remarks> public VkCollection<User> GetSuggestions(FriendsFilter filter = null, long? count = null, long? offset = null, UsersFields fields = null, NameCase nameCase = null) { var parameters = new VkParameters { { "filter", filter }, { "count", count }, { "offset", offset }, { "fields", fields }, { "name_case", nameCase } }; return _vk.Call("friends.getSuggestions", parameters).ToVkCollectionOf<User>(x => x); }
public async Task<EntityList<User>> FriendsGetSuggestionsAsync( FriendSuggestionFilters filters = FriendSuggestionFilters.Everything, UserFields fields = UserFields.None, NameCase nameCase = NameCase.Nom, uint offset = 0, uint count = 100 ){ return (await Executor.ExecAsync( _reqapi.FriendsGetSuggestions( filters, fields, nameCase, offset, count ) )).Data.FirstOrDefault(); }
public VKRequest<User> UsersGet( UserFields fields = UserFields.None, NameCase nameCase = NameCase.Nom, params uint[] userIds ){ var req = new VKRequest<User>{ MethodName = "users.get", Parameters = new Dictionary<string, string> { { "fields", String.Join( ",", MiscTools.GetUserFields( fields ) ) }, { "name_case", nameCase.ToNClString() }, { "user_ids", (userIds??new uint[]{}).ToNCStringA() } } }; if (IsLogged){ req.Token = CurrentToken; } return req; }
/// <summary>Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра</summary> /// <param name="fields">перечисленные через запятую поля анкет, необходимые для получения</param> /// <param name="name_case">падеж для склонения имени и фамилии пользователя</param> /// <param name="lid">идентификатор списка друзей, полученный методом friends</param> /// <param name="count">количество друзей, которое нужно вернуть</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества друзей</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> public VKResponseBase Get(ProfileFields fields, NameCase name_case, System.Int64? lid = null, System.Int32? count = null, System.Int32? offset = null) { return get(null, fields, name_case, count, offset, lid, null); }
public VKRequest<EntityList<User>> FriendsGet( uint? userId = null, uint? listId = null, UserFields fields = UserFields.None, UserSortOrder order = UserSortOrder.ById, NameCase nameCase = NameCase.Nom, uint offset = 0, uint count = 100 ){ var req = new VKRequest<EntityList<User>>{ MethodName = "friends.get", Parameters = new Dictionary<string, string> { { "user_id", MiscTools.NullableString(userId) }, { "list_id", MiscTools.NullableString(listId) }, { "fields", String.Join( ",", MiscTools.GetUserFields( fields ) ) }, { "order", order.ToNClString() }, { "name_case", nameCase.ToNClString() }, { "offset", offset.ToNCString() }, { "count", count.ToNCString() } } }; if (IsLogged){ req.Token = CurrentToken; } return req; }
public async Task<ReadOnlyCollection<User>> GetAsync([NotNull] IEnumerable<string> screenNames, ProfileFields fields = null, NameCase nameCase = null) { if (screenNames == null) throw new ArgumentNullException("screenNames"); var parameters = new VkParameters { { "user_ids", screenNames }, { "fields", fields }, { "name_case", nameCase } }; VkResponseArray response = await _vk.CallAsync("users.get", parameters); return response.ToReadOnlyCollectionOf<User>(x => x); }
public VKRequest<EntityList<User>> FriendsGetSuggestions( FriendSuggestionFilters filters = FriendSuggestionFilters.Everything, UserFields fields = UserFields.None, NameCase nameCase = NameCase.Nom, uint offset = 0, uint count = 100 ){ var req = new VKRequest<EntityList<User>>{ MethodName = "friends.getSuggestions", Parameters = new Dictionary<string, string> { { "filters", String.Join( ",", MiscTools.GetFilterFields( filters ) ) }, { "fields", String.Join( ",", MiscTools.GetUserFields( fields ) ) }, { "name_case", nameCase.ToNClString() }, { "offset", offset.ToNCString() }, { "count", count.ToNCString() } } }; req.Token = CurrentToken; return req; }
public ReadOnlyCollection<User> GetFollowers(long? userId = null, int? count = null, int? offset = null, ProfileFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => userId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { {"user_id", userId}, {"offset", offset}, {"count", count}, {"fields", fields}, {"name_case", nameCase} }; VkResponseArray response = _vk.Call("users.getFollowers", parameters); // проверка: возвращается массив объектов или только идентификаторы пользователей if (response.Count > 0 && response[0].ContainsKey("id")) { return response.ToReadOnlyCollectionOf<User>(x => x); } return response.ToReadOnlyCollectionOf(x => new User{Id = x}); }
/// <summary> /// Gets the chat. /// </summary> /// <param name="chatId">The chat identifier.</param> /// <param name="fields">The fields.</param> /// <param name="nameCase">The name case.</param> /// <returns></returns> public Chat GetChat(long chatId, ProfileFields fields = null, NameCase nameCase = null) { return GetChat(new[] { chatId }, fields, nameCase).FirstOrDefault(); }
public ReadOnlyCollection<User> GetInvitedUsers(long groupId, out int userCount, long? offset = null, long? count = null, UsersFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "group_id", groupId }, { "offset", offset }, { "count", count }, { "fields", fields }, { "name_case", nameCase } }; var response = _vk.Call("groups.getInvitedUsers", parameters); userCount = response["count"]; return response["items"].ToReadOnlyCollectionOf<User>(x => x); }
public ReadOnlyCollection<Chat> GetChat(IEnumerable<long> chatIds, ProfileFields fields = null, NameCase nameCase = null) { var isNoEmpty = chatIds == null || !chatIds.Any(); if (isNoEmpty) { throw new ArgumentException("At least one chat ID must be defined", "chatIds"); } var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase } }; if (chatIds.Count() > 1) { parameters.Add("chat_ids", chatIds); } else { parameters.Add("chat_id", chatIds.ElementAt(0)); } var response = _vk.Call("messages.getChat", parameters); if (chatIds.Count() > 1) { return response.ToReadOnlyCollectionOf<Chat>(c => c); } return new ReadOnlyCollection<Chat>(new List<Chat> { response }); }
public ReadOnlyCollection<User> GetInvitedUsers(ulong groupId, out int userCount, uint offset = 0, uint count = 20, UsersFields fields = null, NameCase nameCase = null) { var parameters = new VkParameters { { "group_id", groupId }, { "offset", offset }, { "count", count }, { "fields", fields }, { "name_case", nameCase } }; var response = _vk.Call("groups.getInvitedUsers", parameters); userCount = response["count"]; return response["items"].ToReadOnlyCollectionOf<User>(x => x); }
public ReadOnlyCollection <User> Get([NotNull] IEnumerable <long> userIds, ProfileFields fields = null, NameCase nameCase = null) { if (userIds == null) { throw new ArgumentNullException("userIds"); } var parameters = new VkParameters { { "fields", fields }, { "name_case", nameCase } }; parameters.Add("user_ids", userIds); VkResponseArray response = _vk.Call("users.get", parameters); return(response.ToReadOnlyCollectionOf <User>(x => x)); }