public ReadOnlyCollection <Photo> GetProfile(long?ownerId = null, IEnumerable <long> photoIds = null, bool?rev = null, bool?extended = null, string feedType = null, DateTime?feed = null, bool?photoSizes = null, ulong?count = null, ulong?offset = null) { var parameters = new VkParameters { { "owner_id", ownerId }, { "photo_ids", photoIds }, { "rev", rev }, { "extended", extended }, { "feed_type", feedType }, { "feed", feed }, { "photo_sizes", photoSizes }, { "count", count }, { "offset", offset } }; VkResponseArray response = _vk.Call("photos.getProfile", parameters); return(response.ToReadOnlyCollectionOf <Photo>(x => x)); }
public ReadOnlyCollection <Audio> GetRecommendations(long?userId = null, int?count = null, int?offset = null, bool shuffle = true, string targetAudio = "") { VkErrors.ThrowIfNumberIsNegative(() => userId); VkErrors.ThrowIfNumberIsNegative(() => offset); VkErrors.ThrowIfNumberIsNegative(() => count); var parameters = new VkParameters { { "target_audio", targetAudio }, { "user_id", userId }, { "offset", offset }, { "count", count }, { "shuffle", shuffle } }; VkResponseArray response = _vk.Call("audio.getRecommendations", parameters); return(response.ToReadOnlyCollectionOf <Audio>(x => x)); }
public ReadOnlyCollection <Video> GetUserVideos(long userId, int?count = null, int?offset = null) { // throw new NotImplementedException("Метод некорректно работает на самом сервере вконтакте"); VkErrors.ThrowIfNumberIsNegative(() => userId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "user_id", userId }, { "count", count }, { "offset", offset } }; VkResponseArray response = _vk.Call("video.getUserVideos", parameters); return(response.ToReadOnlyCollectionOf <Video>(x => x)); }
public ReadOnlyCollection <long> GetMembers(long gid, out int totalCount, int?count = null, int?offset = null, GroupsSort sort = null) { var parameters = new VkParameters { { "gid", gid }, { "offset", offset }, { "sort", sort } }; if (count.HasValue && count.Value > 0 && count.Value < 1000) { parameters.Add("count", count); } var response = _vk.Call("groups.getMembers", parameters, true); totalCount = response["count"]; VkResponseArray users = response["users"]; return(users.ToReadOnlyCollectionOf <long>(x => 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 }, { "v", _vk.ApiVersion } }; VkResponseArray response = await _vk.CallAsync("users.get", parameters); return(response.ToReadOnlyCollectionOf <User>(x => x)); }
/// <summary> /// Возвращает список рекомендуемых аудиозаписей на основе списка воспроизведения /// заданного пользователя или на основе /// одной выбранной аудиозаписи. /// </summary> /// <param name="targetAudio"> /// Идентификатор аудиозаписи, на основе которой будет строиться список /// рекомендаций. /// Используется вместо параметра uid. Идентификатор представляет из себя /// разделённые знаком подчеркивания id /// пользователя, которому принадлежит аудиозапись, и id самой аудиозаписи. Если /// аудиозапись принадлежит сообществу, то /// в качестве первого параметра используется -id сообщества. строка (Строка). /// </param> /// <param name="userId"> /// Идентификатор пользователя для получения списка рекомендаций на основе его /// набора аудиозаписей (по /// умолчанию — идентификатор текущего пользователя). положительное число /// (Положительное число). /// </param> /// <param name="offset"> /// Смещение относительно первой найденной аудиозаписи для выборки определенного /// подмножества. /// положительное число (Положительное число). /// </param> /// <param name="count"> /// Количество возвращаемых аудиозаписей. положительное число, максимальное /// значение 1000, по умолчанию /// 100 (Положительное число, максимальное значение 1000, по умолчанию 100). /// </param> /// <param name="shuffle"> /// 1 — включен случайный порядок. флаг, может принимать значения 1 или 0 (Флаг, /// может принимать /// значения 1 или 0). /// </param> /// <returns> /// После успешного выполнения возвращает список объектов audio. Обратите внимание, /// что ссылки на аудиозаписи привязаны /// к ip адресу. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/audio.getRecommendations /// </remarks> public ReadOnlyCollection <Audio> GetRecommendations(long?userId = null , uint?count = null , uint?offset = null , bool shuffle = true , string targetAudio = "") { var parameters = new VkParameters { { "target_audio", targetAudio } , { "user_id", userId } , { "offset", offset } , { "count", count } , { "shuffle", shuffle } }; VkResponseArray response = _vk.Call(methodName: "audio.getRecommendations", parameters: parameters); return(response.ToReadOnlyCollectionOf <Audio>(selector: x => x)); }
public ReadOnlyCollection <Group> GetSubscriptions(long?userId = null, int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => userId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "user_id", userId }, { "extended", true }, { "offset", offset }, { "count", count }, { "v", _vk.ApiVersion } }; VkResponseArray response = _vk.Call("users.getSubscriptions", parameters); return(response.ToReadOnlyCollectionOf <Group>(x => x)); }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static LongPollHistoryResponse FromJson(VkResponse response) { var fromJson = new LongPollHistoryResponse { UnreadMessages = response["messages"]["count"], Messages = response["messages"]["items"].ToReadOnlyCollectionOf <Message>(x => x), Profiles = response["profiles"].ToReadOnlyCollectionOf <User>(x => x), NewPts = response["new_pts"], More = response["more"] }; VkResponseArray historys = response["history"]; foreach (var history in historys) { VkResponseArray item = history; fromJson.History.Add(new ReadOnlyCollection <long>(item.ToReadOnlyCollectionOf <long>(x => x))); } return(fromJson); }
public ReadOnlyCollection <Post> GetById(IEnumerable <string> posts) { if (posts == null) { throw new ArgumentNullException("posts"); } if (!posts.Any()) { throw new ArgumentException("Posts collection was empty.", "posts"); } var parameters = new VkParameters { { "posts", posts } }; VkResponseArray response = _vk.Call("wall.getById", parameters); return(response.ToReadOnlyCollectionOf <Post>(x => x)); }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static NewsUserListItem FromJson(VkResponse response) { var newsUserListItem = new NewsUserListItem { Id = response["id"], Title = response["title"], NoReposts = response["no_reposts"] }; VkResponseArray sourceIds = response["source_ids"]; if (sourceIds.Count == 0) { newsUserListItem.SourceIds = new List <long>(); } else { newsUserListItem.SourceIds = sourceIds.ToReadOnlyCollectionOf <long>(x => x); } return(newsUserListItem); }
public ReadOnlyCollection <Video> Get(long?ownerId = null, long?albumId = null, VideoWidth width = VideoWidth.Medium160, int?count = null, int?offset = null, bool extended = false) { VkErrors.ThrowIfNumberIsNegative(() => albumId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "owner_id", ownerId }, { "album_id", albumId }, { "width", width }, { "count", count }, { "offset", offset }, { "extended", extended } }; VkResponseArray response = _vk.Call("video.get", parameters); return(response.ToReadOnlyCollectionOf <Video>(x => x)); }
public ReadOnlyCollection <long> GetFriendsList(out int totalCount, AppRequestType type, int count = 20, int offset = 0) { var parameters = new VkParameters { { "extended", false }, { "offset", offset }, { "type", type } }; if (count <= 5000) { parameters.Add("count", count); } var result = _vk.Call("apps.getFriendsList", parameters); totalCount = result["count"]; VkResponseArray items = result["items"]; return(items.ToReadOnlyCollectionOf <long>(x => x)); }
public ReadOnlyCollection <City> GetCities(int countryId, int?regionId = null, string query = "", bool?needAll = false, int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => countryId); VkErrors.ThrowIfNumberIsNegative(() => regionId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "country_id", countryId }, { "region_id", regionId }, { "q", query }, { "need_all", needAll }, { "offset", offset }, { "count", count } }; VkResponseArray response = _vk.Call("database.getCities", parameters, true); return(response.ToReadOnlyCollectionOf <City>(x => x)); }
public ReadOnlyCollection <User> Get(IEnumerable <long> userIds , ProfileFields fields = null , NameCase nameCase = null , bool skipAuthorization = false) { if (userIds == null) { throw new ArgumentNullException(paramName: nameof(userIds)); } var parameters = new VkParameters { { "fields", fields } , { "name_case", nameCase } , { "user_ids", userIds } }; VkResponseArray response = _vk.Call(methodName: "users.get", parameters: parameters, skipAuthorization: skipAuthorization); return(response.ToReadOnlyCollectionOf <User>(selector: x => x)); }
public ReadOnlyCollection <Document> Get(out int totalCount, int?count = null, int?offset = null, long?ownerId = null, DocFilter?filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "count", count }, { "offset", offset }, { "owner_id", ownerId }, { "type", filter } }; var response = _vk.Call("docs.get", parameters); totalCount = response["count"]; VkResponseArray items = response["items"]; return(items.ToReadOnlyCollectionOf <Document>(r => r)); }
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 <NewsSearchResult> Search(SearchParams @params) { var parameters = new VkParameters { { "q", @params.Query }, { "extended", @params.Extended }, { "latitude", @params.Latitude }, { "longitude", @params.Longitude }, { "start_time", @params.StartTime }, { "end_time", @params.EndTime }, { "start_from", @params.StartFrom }, { "fields", @params.Fields } }; if (@params.Count <= 200) { parameters.Add("count", @params.Count); } VkResponseArray response = _vk.Call("newsfeed.search", parameters); return(response.ToReadOnlyCollectionOf <NewsSearchResult>(x => x)); }
public ReadOnlyCollection <User> GetList(LikeObjectType type, long?ownerId = null, long?itemId = null, string pageUrl = null, string filter = null, bool?friendsOnly = null, bool?extended = null, long?offset = null, int?count = null) { VkErrors.ThrowIfNumberIsNegative(() => offset); VkErrors.ThrowIfNumberIsNegative(() => count); var parameters = new VkParameters { { "type", type }, { "owner_id", ownerId }, { "item_id", itemId }, { "page_url", pageUrl }, { "filter", filter }, { "friends_only", friendsOnly }, { "extended", extended }, { "offset", offset }, { "count", count } }; VkResponseArray response = _vk.Call("likes.getList", parameters); return(response.ToReadOnlyCollectionOf <User>(x => x)); }
public ReadOnlyCollection <Video> Search(string query, VideoSort sort, bool isHd = false, bool isAdult = false, VideoFilters filters = null, bool isSearchOwn = false, int?count = null, int?offset = null) { VkErrors.ThrowIfNullOrEmpty(() => query); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "q", query }, { "sort", sort }, { "hd", isHd }, { "adult", isAdult }, { "filters", filters }, { "search_own", isSearchOwn }, { "offset", offset }, { "count", count } }; VkResponseArray response = _vk.Call("video.search", parameters); return(response.ToReadOnlyCollectionOf <Video>(x => x)); }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response"> Ответ сервера. </param> /// <returns> </returns> public static LongPollHistoryResponse FromJson(VkResponse response) { var fromJson = new LongPollHistoryResponse { UnreadMessages = response[key : "messages"][key : "count"], Messages = response[key : "messages"][key : "items"].ToReadOnlyCollectionOf <Message>(selector : x => x), Profiles = response[key : "profiles"].ToReadOnlyCollectionOf <User>(selector : x => x), Groups = response[key : "groups"].ToReadOnlyCollectionOf <Group>(selector : x => x), NewPts = response[key : "new_pts"], More = response[key : "more"] }; VkResponseArray histories = response[key : "history"]; foreach (var history in histories) { VkResponseArray item = history; fromJson.History.Add(item: new ReadOnlyCollection <long>(list: item.ToReadOnlyCollectionOf <long>(selector: x => x))); } return(fromJson); }
public ReadOnlyCollection <long> GetAppUsers() { VkResponseArray response = _vk.Call("friends.getAppUsers", VkParameters.Empty); return(response.ToReadOnlyCollectionOf <long>(x => x)); }
public ReadOnlyCollection <FriendList> GetLists() { VkResponseArray response = _vk.Call("friends.getLists", VkParameters.Empty); return(response.ToReadOnlyCollectionOf <FriendList>(x => x)); }
public ReadOnlyCollection <long> GetMutual(FriendsGetMutualParams @params) { VkResponseArray response = _vk.Call("friends.getMutual", @params); return(response.ToReadOnlyCollectionOf <long>(x => x)); }
/// <summary> /// Возвращает результаты поиска по статусам. Новости возвращаются в порядке от /// более новых к более старым. /// </summary> /// <param name="params"> Параметры запроса. </param> /// <returns> /// Возвращает результат выполнения метода. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/newsfeed.search /// </remarks> public ReadOnlyCollection <NewsSearchResult> Search(NewsFeedSearchParams @params) { VkResponseArray response = _vk.Call(methodName: "newsfeed.search", parameters: @params); return(response.ToReadOnlyCollectionOf <NewsSearchResult>(selector: x => x)); }
public ReadOnlyCollection <long> GetList(LikesGetListParams @params) { VkResponseArray response = _vk.Call("likes.getList", @params); return(response.ToReadOnlyCollectionOf <long>(x => x)); }
/// <summary> /// Возвращает результаты поиска по статусам. Новости возвращаются в порядке от более новых к более старым. /// </summary> /// <param name="params">Параметры запроса.</param> /// <returns> /// Возвращает результат выполнения метода. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/newsfeed.search /// </remarks> public ReadOnlyCollection <NewsSearchResult> Search(NewsFeedSearchParams @params) { VkResponseArray response = _vk.Call("newsfeed.search", @params); return(response.ToReadOnlyCollectionOf <NewsSearchResult>(x => x)); }
public ReadOnlyCollection <long> GetAppUsers() { VkResponseArray response = _vk.Call(methodName: "friends.getAppUsers", parameters: VkParameters.Empty); return(response.ToReadOnlyCollectionOf <long>(selector: x => x)); }
/// <summary> /// Возвращает список идентификаторов общих друзей между парой пользователей. /// </summary> /// <param name="params"> Входные параметры выборки. </param> /// <returns> /// После успешного выполнения возвращает список идентификаторов (id) общих друзей /// между пользователями с /// идентификаторами source_uid и target_uid. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/friends.getMutual /// </remarks> public ReadOnlyCollection <long> GetMutual(FriendsGetMutualParams @params) { VkResponseArray response = _vk.Call(methodName: "friends.getMutual", parameters: @params); return(response.ToReadOnlyCollectionOf <long>(selector: x => x)); }
public ReadOnlyCollection <Photo> Save(PhotoSaveParams @params) { VkResponseArray response = _vk.Call("photos.save", @params); return(response.ToReadOnlyCollectionOf <Photo>(x => x)); }