public DownloadingPostsOptions(long wallId, int countInFirstLoad, WallFilter wallFilter, TimeSpan timeForReconnection) { WallId = wallId; CountInFirstLoad = countInFirstLoad; WallFilter = wallFilter; TimeForReconnection = timeForReconnection; }
/// <summary>Получает список идентификаторов пользователей, которые добавили заданный объект в свой список</summary> /// <param name="type">тип Like-объекта</param> /// <param name="owner_id">идентификатор владельца Like-объекта (id пользователя или id приложения)</param> /// <param name="item_id">идентификатор Like-объекта</param> /// <param name="page_url">url страницы, на которой установлен виджет «Мне нравится»</param> /// <param name="filter">указывает, следует ли вернуть всех пользователей, добавивших объект в список "Мне нравится" или только тех, которые рассказали о нем друзьям</param> /// <param name="friends_only">указывает, необходимо ли возвращать только пользователей, которые являются друзьями текущего пользователя</param> /// <param name="offset">смещение, относительно начала списка, для выборки определенного подмножества</param> /// <param name="count">количество возвращаемых идентификаторов пользователей</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> private VKResponseBase getList(string type, System.Int64? owner_id, string item_id, string page_url, WallFilter? filter, System.Boolean? friends_only, System.Int32? offset, System.Int32? count) { manager.AddValueByName("@type", type); manager.AddValueByName("@owner_id", owner_id); manager.AddValueByName("@item_id", item_id); manager.AddValueByName("@page_url", page_url); manager.AddValueByName("@filter", filter); manager.AddValueByName("@friends_only", friends_only); manager.AddValueByName("@offset", offset); manager.AddValueByName("@count", count); return new VKResponseBase(GetResponse("getList"), IsXMLResponse); }
public void WallFilterTest() { // get test Assert.That(WallFilter.Owner.ToString(), Is.EqualTo("owner")); Assert.That(WallFilter.Others.ToString(), Is.EqualTo("others")); Assert.That(WallFilter.All.ToString(), Is.EqualTo("all")); Assert.That(WallFilter.Suggests.ToString(), Is.EqualTo("suggests")); Assert.That(WallFilter.Postponed.ToString(), Is.EqualTo("postponed")); // parse test Assert.That(WallFilter.FromJsonString("owner"), Is.EqualTo(WallFilter.Owner)); Assert.That(WallFilter.FromJsonString("others"), Is.EqualTo(WallFilter.Others)); Assert.That(WallFilter.FromJsonString("all"), Is.EqualTo(WallFilter.All)); Assert.That(WallFilter.FromJsonString("suggests"), Is.EqualTo(WallFilter.Suggests)); Assert.That(WallFilter.FromJsonString("postponed"), Is.EqualTo(WallFilter.Postponed)); }
public int GetExtended(long ownerId, out ReadOnlyCollection<Post> wallPosts, out ReadOnlyCollection<User> profiles, out ReadOnlyCollection<Group> groups, int? count = null, int? offset = null, WallFilter filter = WallFilter.All) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter == WallFilter.Suggests && ownerId >= 0) throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); var parameters = new VkParameters { { "owner_id", ownerId }, { "count", count }, { "offset", offset }, { "filter", filter.ToString().ToLowerInvariant() }, {"extended", 1} }; var response = _vk.Call("wall.get", parameters); wallPosts = response["items"].ToReadOnlyCollectionOf<Post>(r => r); profiles = response["profiles"].ToReadOnlyCollectionOf<User>(r => r); groups = response["groups"].ToReadOnlyCollectionOf<Group>(r => r); return response["count"]; }
public ReadOnlyCollection<Post> GetAll(long ownerId, WallFilter filter = WallFilter.All) { const int count = 100; var i = 0; var allPosts = new List<Post>(); do { int totalCount; var currentPosts = _wall.Get(ownerId, out totalCount, count, i * count, filter); if (currentPosts != null) allPosts.AddRange(currentPosts); } while (++i * count < (_vk.CountFromLastResponse ?? 0)); return allPosts.ToReadOnlyCollection(); }
public void WallFilterTest() { // get test Assert.That(actual: WallFilter.Owner.ToString(), expression: Is.EqualTo(expected: "owner")); Assert.That(actual: WallFilter.Others.ToString(), expression: Is.EqualTo(expected: "others")); Assert.That(actual: WallFilter.All.ToString(), expression: Is.EqualTo(expected: "all")); Assert.That(actual: WallFilter.Suggests.ToString(), expression: Is.EqualTo(expected: "suggests")); Assert.That(actual: WallFilter.Postponed.ToString(), expression: Is.EqualTo(expected: "postponed")); // parse test Assert.That(actual: WallFilter.FromJsonString(response: "owner"), expression: Is.EqualTo(expected: WallFilter.Owner)); Assert.That(actual: WallFilter.FromJsonString(response: "others"), expression: Is.EqualTo(expected: WallFilter.Others)); Assert.That(actual: WallFilter.FromJsonString(response: "all"), expression: Is.EqualTo(expected: WallFilter.All)); Assert.That(actual: WallFilter.FromJsonString(response: "suggests"), expression: Is.EqualTo(expected: WallFilter.Suggests)); Assert.That(actual: WallFilter.FromJsonString(response: "postponed"), expression: Is.EqualTo(expected: WallFilter.Postponed)); }
public ReadOnlyCollection<Post> Get(long ownerId, out int totalCount, int? count = null, int? offset = null, WallFilter filter = WallFilter.All) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter == WallFilter.Suggests && ownerId >= 0) throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); var parameters = new VkParameters { { "owner_id", ownerId }, { "count", count }, { "offset", offset }, { "filter", filter.ToString().ToLowerInvariant() } }; VkResponse response = _vk.Call("wall.get", parameters); totalCount = response["count"]; VkResponseArray items = response["items"]; return items.ToReadOnlyCollectionOf<Post>(r => r); }
public ReadOnlyCollection<Post> Get(long ownerId, out int totalCount, int? count = null, int? offset = null, WallFilter filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter != null && filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var result = Get(new WallGetParams { OwnerId = ownerId, Count = (ulong)count, Offset = (ulong)offset, Filter = filter }); totalCount = Convert.ToInt32(result.TotalCount); return result.WallPosts; }
public int GetExtended(long ownerId, out ReadOnlyCollection<Post> wallPosts, out ReadOnlyCollection<User> profiles, out ReadOnlyCollection<Group> groups, int? count = null, int? offset = null, WallFilter filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter != null && filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var result = Get(new WallGetParams { OwnerId = ownerId, Count = (ulong)count, Offset = (ulong)offset, Filter = filter, Extended = true }); wallPosts = result.WallPosts; profiles = result.Profiles; groups = result.Groups; return Convert.ToInt32(result.TotalCount); }
public int GetExtended(long ownerId, out ReadOnlyCollection <Post> wallPosts, out ReadOnlyCollection <User> profiles, out ReadOnlyCollection <Group> groups, int?count = null, int?offset = null, WallFilter filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter != null && filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var result = Get(new WallGetParams { OwnerId = ownerId, Count = (ulong)count, Offset = (ulong)offset, Filter = filter, Extended = true }); wallPosts = result.WallPosts; profiles = result.Profiles; groups = result.Groups; return(Convert.ToInt32(result.TotalCount)); }
public ReadOnlyCollection <Post> Get(long ownerId, out int totalCount, int?count = null, int?offset = null, WallFilter filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter != null && filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var result = Get(new WallGetParams { OwnerId = ownerId, Count = (ulong)count, Offset = (ulong)offset, Filter = filter }); totalCount = Convert.ToInt32(result.TotalCount); return(result.WallPosts); }
public int GetExtended(long ownerId, out ReadOnlyCollection <Post> wallPosts, out ReadOnlyCollection <User> profiles, out ReadOnlyCollection <Group> groups, int?count = null, int?offset = null, WallFilter filter = WallFilter.All) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var parameters = new VkParameters { { "owner_id", ownerId }, { "count", count }, { "offset", offset }, { "filter", filter.ToString().ToLowerInvariant() }, { "extended", 1 } }; var response = _vk.Call("wall.get", parameters); wallPosts = response["items"].ToReadOnlyCollectionOf <Post>(r => r); profiles = response["profiles"].ToReadOnlyCollectionOf <User>(r => r); groups = response["groups"].ToReadOnlyCollectionOf <Group>(r => r); return(response["count"]); }
public ReadOnlyCollection <Post> Get(long ownerId, out int totalCount, int?count = null, int?offset = null, WallFilter filter = WallFilter.All) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); if (filter == WallFilter.Suggests && ownerId >= 0) { throw new ArgumentException("OwnerID must be negative in case filter equal to Suggests", "ownerId"); } var parameters = new VkParameters { { "owner_id", ownerId }, { "count", count }, { "offset", offset }, { "filter", filter.ToString().ToLowerInvariant() } }; VkResponse response = _vk.Call("wall.get", parameters); totalCount = response["count"]; VkResponseArray items = response["items"]; return(items.ToReadOnlyCollectionOf <Post>(r => r)); }
public static ReadOnlyCollection <Post> WallGet(int ownerId, int count = 100, int offset = 0, WallFilter filter = WallFilter.All) { var vk = GetVkApi(); int totalCount; var frs = vk.Wall.Get(ownerId, out totalCount, count, offset, filter); return(frs); }
/// <summary>Возвращает список записей со стены пользователя.</summary> /// <param name="owner_id">идентификатор пользователя (по умолчанию - текущий пользователь)</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества сообщений</param> /// <param name="count">количество сообщений, которое необходимо получить (но не более 100)</param> /// <param name="filter">определяет, какие типы сообщений на стене необходимо получить</param> /// <param name="extended">1 - будут возвращены три массива wall, profiles, и groups</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> private VKResponseBase get(System.Int64? owner_id, System.Int32? offset, System.Int32? count, WallFilter? filter, System.Boolean? extended) { manager.AddValueByName("@owner_id", owner_id); manager.AddValueByName("@offset", offset); manager.AddValueByName("@count", count); manager.AddValueByName("@filter", filter); manager.AddValueByName("@extended", extended); return new VKResponseBase(GetResponse("get"), IsXMLResponse); }
/// <summary>Возвращает список записей со стены пользователя.</summary> /// <param name="filter">определяет, какие типы сообщений на стене необходимо получить</param> /// <param name="extended">1 - будут возвращены три массива wall, profiles, и groups</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества сообщений</param> /// <param name="count">количество сообщений, которое необходимо получить (но не более 100)</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> public VKResponseBase Get(WallFilter? filter = null, System.Boolean? extended = null, System.Int32? offset = null, System.Int32? count = null) { return get(null, offset, count, filter, extended); }
/// <summary>Возвращает список записей со стены пользователя.</summary> /// <param name="owner_id">идентификатор пользователя (по умолчанию - текущий пользователь)</param> /// <param name="offset">смещение, необходимое для выборки определенного подмножества сообщений</param> /// <param name="count">количество сообщений, которое необходимо получить (но не более 100)</param> /// <param name="filter">определяет, какие типы сообщений на стене необходимо получить</param> /// <param name="extended">1 - будут возвращены три массива wall, profiles, и groups</param> /// <returns>Ответ сервера в XML или JSON формате.</returns> public VKResponseBase Get(long owner_id, int offset, int count, WallFilter? filter = null, System.Boolean? extended = null) { return get(owner_id, offset, count, filter, extended); }