/// <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="request">Объект запроса с необходимыми параметрами.</param> //public void GetFriendsLists(Action<VKResponse<VKCountedItemsObject<VKFriendsList>>> callback, // GetFriendsListsRequest request) //{ // VKHelper.GetResponse<VKCountedItemsObject<VKFriendsList>>(request, callback); //} /// <summary> /// Создает новый список друзей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void AddFriendsList(Action <VKResponse <int> > callback, AddFriendsListRequest request) { VKHelper.GetResponse <AddListResponse>(request, (response) => { var result = new VKResponse <int>() { Error = response.Error }; result.Response = response.Response.ListID; callback(result); }); }
/// <summary> /// Пожаловаться на пользователя. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="userID">Идентификатор пользователя.</param> /// <param name="type">Тип жалобы.</param> /// <param name="comment">Комментарий к жалобе.</param> /// <exception cref="ArgumentOutOfRangeException"></exception> public void ReportUser(Action <VKResponse <VKOperationIsSuccess> > callback, long userID, VKBoolean type, string comment = "") { if (userID <= 0) { throw new ArgumentOutOfRangeException("userID", "Идентификатор пользователя должен быть явно указан."); } var parameters = new Dictionary <string, string>(); parameters["user_id"] = userID.ToString(); parameters["type"] = type.ToString(); if (!String.IsNullOrWhiteSpace(comment)) { parameters["comment"] = comment; } VKHelper.GetResponse <VKOperationIsSuccess>(VKMethodsConstants.UserReport, 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); }
/// <summary> /// Возвращает список друзей пользователя. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> //public void GetFriends(Action<VKResponse<VKCountedItemsObject<VKProfileBase>>> callback, // GetFriendsRequest request) //{ // VKHelper.GetResponse<VKCountedItemsObject<VKProfileBase>>(request, callback); //} /// <summary> /// Возвращает список идентификаторов друзей пользователя, находящихся /// в данные момент в сети. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> //public void GetOnlineFriends(Action<VKResponse<VKGetOnlineFriendsObject>> callback, // GetOnlineFriendsRequest request) //{ // if (request.OnlineMobile == VKBoolean.True) // VKHelper.GetResponse<VKGetOnlineFriendsObject>(request, callback); // else // VKHelper.GetResponse<List<long>>(request, (response) => // { // var result = new VKResponse<VKGetOnlineFriendsObject>(); // result.Error = response.Error; // result.Response.Online = response.Response; // callback(result); // }); //} /// <summary> /// Возвращаетс идентификаторы общих с пользователем друзей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void GetMutualFrends(Action <VKResponse <List <VKCommonFriendsObject> > > callback, GetMutualFriendsRequest request) { if (!request.IsSingle) { VKHelper.GetResponse <List <VKCommonFriendsObject> >(request, callback); } else { VKHelper.GetResponse <List <long> >(request, (response) => { var result = new VKResponse <List <VKCommonFriendsObject> > { Error = response.Error }; result.Response.Add(new VKCommonFriendsObject { ID = request.TargetID, CommonFriends = response.Response, CommonCount = -1 }); callback(result); }); } }
/// <summary> /// Возвращает список документов пользователя или сообщества по их идентификаторам. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void GetDocsByID(Action <VKResponse <List <VKDocument> > > callback, GetDocsByIDRequest request) { VKHelper.GetResponse <List <VKDocument> >(request, callback); }
/// <summary> /// Возвращает список документов пользователя или сообщества. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void GetDocs(Action <VKResponse <VKCountedItemsObject <VKDocument> > > callback, GetDocsRequest request) { VKHelper.GetResponse <VKCountedItemsObject <VKDocument> >(request, callback); }
public TestPageOld() { InitializeComponent(); Logout = new RelayCommand(() => VKHelper.Reset()); GetUniqueDeviceID = new RelayCommand(async() => await(new MessageDialog(CoreHelper.GetUniqueDeviceID(), "UniqueDeviceID")).ShowAsync()); GetDeviceName = new RelayCommand(async() => await(new MessageDialog(CoreHelper.GetDeviceName(), "DeviceName")).ShowAsync()); GetOperatingSystemName = new RelayCommand(async() => await(new MessageDialog(CoreHelper.GetOperatingSystemName(), "OperatingSystem")).ShowAsync()); CaptchaForce = new RelayCommand(async() => await(new CaptchaForceRequest()).ExecuteAsync()); ShowLocalFolderPath = new RelayCommand(async() => await(new MessageDialog(ApplicationData.Current.LocalFolder.Path, "LocalFolder Path")).ShowAsync()); TurnOnNotification = new RelayCommand(async() => { bool result = await NotificationsHelper.Connect(); await(new MessageDialog(result ? "Success" : "Fail", "Push notifications")).ShowAsync(); }); TestMessageFlags = new RelayCommand(async() => { var flags = (VKMessageFlags)243; await(new MessageDialog(flags.ToString(), "243 as VKMessageFlags")).ShowAsync(); flags = (VKMessageFlags)241; await(new MessageDialog(flags.ToString(), "241 as VKMessageFlags")).ShowAsync(); }); StartLongPolling = new RelayCommand(() => { ServiceHelper.VKLongPollService.StartLongPolling(); StopLongPolling.RaiseCanExecuteChanged(); StartLongPolling.RaiseCanExecuteChanged(); }, () => true); StopLongPolling = new RelayCommand(() => { ServiceHelper.VKLongPollService.StopLongPolling(); StartLongPolling.RaiseCanExecuteChanged(); StopLongPolling.RaiseCanExecuteChanged(); }, () => true); ShowToast = new RelayCommand(() => { ((ChromeFrame)Frame).ShowPopup(new PopupMessage { Title = "Добро пожаловать в OneVK", Content = "Это уведомление вернет вас на тестовую страницу", Parameter = new NavigateToPageMessage() { Page = AppViews.TestView }, Type = PopupMessageType.Info }); }); GoToBotView = new RelayCommand(() => { Messenger.Default.Send <NavigateToPageMessage>(new NavigateToPageMessage { Page = AppViews.BotView, Operation = NavigationType.New }); }); GoToBlankPage = new RelayCommand(() => Frame.Navigate(typeof(BlankPage1))); ClearBadgeTile = new RelayCommand(() => { BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear(); }); SendBadgeTile = new RelayCommand(() => { var badge = new BadgeNumericNotificationContent(7).CreateNotification(); BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge); }); SendMessageTile = new RelayCommand(() => { var tile = TileContentFactory.CreateTileSquare150x150IconWithBadge(); tile.ImageIcon.Src = "ms-appx:///Assets/BadgeIcon.png"; TileUpdateManager.CreateTileUpdaterForApplication().Update(tile.CreateNotification()); var badge = new BadgeNumericNotificationContent(7).CreateNotification(); BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge); }); SendToast = new RelayCommand(() => { var toast = ToastContentFactory.CreateToastText02(); toast.Audio.Content = ToastAudioContent.IM; toast.Duration = ToastDuration.Long; toast.TextHeading.Text = "OneVK"; toast.TextBodyWrap.Text = "Это тестовое уведомление"; ToastNotificationManager.CreateToastNotifier().Show(toast.CreateNotification()); }); StartVKSaver = new RelayCommand(async() => { IVKSaverCommand command = new VKSaverStartAppCommand(); await command.TryExecute(); }); }
/// <summary> /// Редактирует списки для друга. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void EditFriend(Action <VKResponse <VKOperationIsSuccess> > callback, EditFriendRequest request) { VKHelper.GetResponse <VKOperationIsSuccess>(request, callback); }
/// <summary> /// Восстанавливает удаленную видеозапись. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void Restore(Action <VKResponse <VKOperationIsSuccess> > callback, RestoreVideoRequest request) { VKHelper.GetResponse <VKOperationIsSuccess>(request, callback); }
private void Button_Click(object sender, RoutedEventArgs e) { VKHelper.Reset(); }
/// <summary> /// Удаляет документ пользователя или группы. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void DeleteDocument(Action <VKResponse <VKOperationIsSuccess> > callback, DeleteDocRequest request) { VKHelper.GetResponse <VKOperationIsSuccess>(request, callback); }
/// <summary> /// Одобряет или создает заявку на добавление в друзья. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void AddFriend(Action <VKResponse <VKAddFriend> > callback, AddFriendRequest request) { VKHelper.GetResponse <VKAddFriend>(request, callback); }
/// <summary> /// Возвращает список идентификаторов последних добавленных друзей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void GetRecentFriends(Action <VKResponse <List <long> > > callback, GetRecentFriendsRequest request) { VKHelper.GetResponse <List <long> >(request, callback); }
/// <summary> /// Выполняет поиск по друзьям пользователя. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void SearchFriends(Action <VKResponse <VKCountedItemsObject <VKProfileBase> > > callback, SearchFriendsRequest request) { VKHelper.GetResponse <VKCountedItemsObject <VKProfileBase> >(request, callback); }
/// <summary> /// Отмечает все входящие заявки на добавление в друзья как просмотренные. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> public void DeleteAllFriendsRequests(Action <VKResponse <VKOperationIsSuccess> > callback) { VKHelper.GetResponse <VKOperationIsSuccess>(VKMethodsConstants.FriendsDeleteAllRequests, callback); }
/// <summary> /// Возвращает список идентификаторов друзей текущего /// пользователя, которые установили данное приложение. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> public void GetFriendsAppUsers(Action <VKResponse <List <long> > > callback) { VKHelper.GetResponse <List <long> >(VKMethodsConstants.FriendsGetAppUsers, callback); }
/// <summary> /// Удалить список друзей ВКонтакте. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void DeleteFriendsList(Action <VKResponse <VKOperationIsSuccess> > callback, DeleteFriendsListRequest request) { VKHelper.GetResponse <VKOperationIsSuccess>(request, callback); }
/// <summary> /// Возвращает сервер для загрузки документа в папку "Отправленные" для /// последующей отправки на стену или личным сообщением. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void GetDocsWallUploadServer(Action <VKResponse <VKUploadServerBase> > callback, GetDocsWallUploadServerRequest request) { VKHelper.GetResponse <VKUploadServerBase>(request, callback); }
/// <summary> /// Добавляет документ в коллекцию пользователя. /// Возвращает идентификатор добавленного документа. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void AddDocument(Action <VKResponse <long> > callback, AddDocRequest request) { VKHelper.GetResponse <long>(request, callback); }
/// <summary> /// Выполнить запрос и вернуть результат. /// </summary> public async Task <VKResponse <T> > ExecuteAsync(CancellationToken ct = default(CancellationToken)) { return(await VKHelper.GetResponse <T>(this, ct)); }
/// <summary> /// Сохраняет документ после успешной загрузки. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void SaveDocument(Action <VKResponse <List <VKDocument> > > callback, SaveDocRequest request) { VKHelper.GetResponse <List <VKDocument> >(request, callback); }
/// <summary> /// Возвращает адрес сервера (необходимый для загрузки) и данные видеозаписи. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void Save(Action <VKResponse <VKVideoUploadServer> > callback, SaveVideoRequest request) { VKHelper.GetResponse <VKVideoUploadServer>(request, callback); }
/// <summary> /// Выполняет поиск среди пользователей ВКонтакте. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="q">Строка запроса.</param> /// <param name="sortMode">Метод сортировки результатов. /// По популярности и по дате регистрации.</param> /// <param name="count">Количество результатов, которое требуется вернуть. /// Не более 1000.</param> /// <param name="offset">Смещение относительно начала коллекции результатов. /// Не более 1000.</param> /// <param name="cityID">Идентификатор города.</param> /// <param name="countryID">Идентификатор страны.</param> /// <param name="homeTown">Название родного города.</param> /// <param name="universityCountryID">Идентификатор страны, в которой находится университет, /// в котором учился пользователь.</param> /// <param name="universityID">Идентификатор университета, в котором учился пользователь.</param> /// <param name="universityYear">Год окончания университета.</param> /// <param name="universityFacultyID">Идентификатор факультета, в котором /// учился польхователь.</param> /// <param name="universityChairID">Идентификатор кафедры, на которой учился пользователь.</param> /// <param name="sex">Пол пользователя.</param> /// <param name="relation">Семейное положение пользователя.</param> /// <param name="ageFrom">Выполнять поиск по пользователям с этого возраста.</param> /// <param name="ageTo">Выполнять поиск по пользователям не старше этого вораста.</param> /// <param name="birthDay">День рождения.</param> /// <param name="birthMonth">Месяц рождения.</param> /// <param name="birthYear">Год рождения.</param> /// <param name="online">Находится ли польователь в сети.</param> /// <param name="hasPhoto">Имеется ли фотография в профиле.</param> /// <param name="schoolCountryID">Идентификатор страны, в которой находится школа, /// в которой учился пользователь.</param> /// <param name="schoolCityID">Идентификатор города, в котором находится школа.</param> /// <param name="schoolClass">Номер класса.</param> /// <param name="schoolID">Идентификатор школы.</param> /// <param name="schoolYear">Год окончания школы.</param> /// <param name="religion">Мировоззрение.</param> /// <param name="interests">Интересы.</param> /// <param name="companyName">Название компании, в которой работает пользователь.</param> /// <param name="position">Должность.</param> /// <param name="groupID">Идентификатор группы, по пользователям которой требуется искать.</param> /// <exception cref="ArgumentOutOfRangeException"></exception> /// <exception cref="ArgumentException"></exception> public void SearchUsers(Action <VKResponse <VKCountedItemsObject <VKProfileBase> > > callback, string q, VKMediaSearchSortMode sortMode = VKMediaSearchSortMode.ByPopularity, int count = 20, int offset = 0, int cityID = 0, int countryID = 0, string homeTown = "", int universityCountryID = 0, int universityID = 0, int universityYear = 0, int universityFacultyID = 0, int universityChairID = 0, VKUserSex sex = VKUserSex.Unknown, VKRelation relation = VKRelation.Unknown, int ageFrom = 0, int ageTo = 0, int birthDay = 0, int birthMonth = 0, int birthYear = 0, VKBoolean online = VKBoolean.False, VKBoolean hasPhoto = VKBoolean.False, int schoolCountryID = 0, int schoolCityID = 0, int schoolClass = 0, int schoolID = 0, int schoolYear = 0, string religion = "", string interests = "", string companyName = "", string position = "", long groupID = 0) { if (count <= 0 || count > 1000) { throw new ArgumentOutOfRangeException("count", "Количество элементов должно быть больше нуля, но меньше 1000."); } if (offset < 0 || offset > 1000) { throw new ArgumentOutOfRangeException("offset", "Смещение должно быть не менее нуля, но не более 1000."); } if (String.IsNullOrWhiteSpace(q)) { throw new ArgumentException("q", "Строка запроса не должна быть пустой."); } if (sortMode == VKMediaSearchSortMode.ByDuration) { throw new ArgumentException("sortMode", "Для коллекции пользователей невозможен метод сортировки по длительности."); } if (cityID < 0 || countryID < 0 || universityCountryID < 0 || universityID < 0 || universityYear < 0 || universityFacultyID < 0 || universityChairID < 0 || ageFrom < 0 || ageTo < 0 || birthDay < 0 || birthMonth < 0 || birthYear < 0 || schoolCountryID < 0 || schoolCityID < 0 || schoolClass < 0 || schoolID < 0 || schoolYear < 0 || groupID < 0) { throw new ArgumentOutOfRangeException(null, "Параметр не может быть отрицательным."); } var parameters = new Dictionary <string, string>(); parameters["q"] = Uri.EscapeDataString(q); parameters["fields"] = "status,online,online_mobile,photo_50,photo_100,photo_200"; if (count != 20) { parameters["count"] = count.ToString(); } if (offset > 0) { parameters["offset"] = offset.ToString(); } if (cityID > 0) { parameters["city"] = cityID.ToString(); } if (countryID > 0) { parameters["country"] = countryID.ToString(); } if (universityCountryID > 0) { parameters["university_country"] = universityCountryID.ToString(); } if (universityID > 0) { parameters["university"] = universityID.ToString(); } if (universityYear > 0) { parameters["university_year"] = universityYear.ToString(); } if (universityFacultyID > 0) { parameters["university_faculty"] = universityFacultyID.ToString(); } if (universityChairID > 0) { parameters["university_chair"] = universityChairID.ToString(); } if (ageFrom > 0) { parameters["age_from"] = ageFrom.ToString(); } if (ageTo > 0) { parameters["age_to"] = ageTo.ToString(); } if (birthDay > 0) { parameters["birth_day"] = birthDay.ToString(); } if (birthMonth > 0) { parameters["birth_month"] = birthMonth.ToString(); } if (birthYear > 0) { parameters["birth_year"] = birthYear.ToString(); } if (schoolCountryID > 0) { parameters["school_country"] = schoolCountryID.ToString(); } if (schoolCityID > 0) { parameters["school_city"] = schoolCityID.ToString(); } if (schoolClass > 0) { parameters["school_class"] = schoolClass.ToString(); } if (schoolID > 0) { parameters["school"] = schoolID.ToString(); } if (schoolYear > 0) { parameters["school_year"] = schoolYear.ToString(); } if (groupID > 0) { parameters["group_id"] = groupID.ToString(); } if (sex != VKUserSex.Unknown) { parameters["sex"] = ((byte)sex).ToString(); } if (relation != VKRelation.Unknown) { parameters["status"] = ((byte)relation).ToString(); } if (online == VKBoolean.True) { parameters["online"] = "1"; } if (hasPhoto == VKBoolean.True) { parameters["has_photo"] = "1"; } if (sortMode == VKMediaSearchSortMode.ByDate) { parameters["sort"] = "1"; } if (!String.IsNullOrWhiteSpace(homeTown)) { parameters["hometown"] = homeTown; } if (!String.IsNullOrWhiteSpace(religion)) { parameters["religion"] = religion; } if (!String.IsNullOrWhiteSpace(interests)) { parameters["interests"] = interests; } if (!String.IsNullOrWhiteSpace(companyName)) { parameters["company"] = companyName; } if (!String.IsNullOrWhiteSpace(position)) { parameters["position"] = position; } VKHelper.GetResponse <VKCountedItemsObject <VKProfileBase> >(VKMethodsConstants.UsersSearch, parameters, callback); }
/// <summary> /// Запускает процесс авторизации в социальной сети ВКонтакте. /// </summary> /// <param name="userName">Имя пользователя, email или номер телефона.</param> /// <param name="password">Пароль.</param> /// <exception cref="ArgumentException"></exception> public void LogIn(string userName, string password) { if (ClientID == 0) { throw new InvalidOperationException("ClientId is 0"); } if (String.IsNullOrEmpty(ClientSecret)) { throw new InvalidOperationException("ClientSecret is empty"); } if (String.IsNullOrWhiteSpace(userName)) { throw new ArgumentException("userName", "Логин не может быть пустым."); } if (String.IsNullOrWhiteSpace(password)) { throw new ArgumentException("password", "Пароль не может быть пустым."); } var parameters = new Dictionary <string, string>(); parameters["grant_type"] = GrantType; parameters["client_id"] = ClientID.ToString(); parameters["client_secret"] = ClientSecret; parameters["username"] = userName; parameters["password"] = password; parameters["scope"] = Scope; parameters["v"] = VKMethodsConstants.ApiVersion; #if ONEVK_CORE VKHelper.GetLoginResponse(parameters, (response) => { if (response.ErrorName == AppConstants.NeedValidation) { Messenger.Default.Send <LoginMessage>( new LoginMessage() { State = VKLoginStates.NeedValidation, RedirectURL = response.RedirectURL }); } else if (response.ErrorName == AppConstants.InvalidClient) { Messenger.Default.Send <LoginMessage>(new LoginMessage() { State = VKLoginStates.InvalidClient }); } else if (response.ErrorName == AppConstants.CaptchaCanceled) { Messenger.Default.Send <LoginMessage>(new LoginMessage() { State = VKLoginStates.Nothing }); } else if (response.GetAccessToken != null) { ServiceLocator.Current.GetInstance <SettingsService>().AccessToken = response.GetAccessToken; Messenger.Default.Send <LoginMessage>(new LoginMessage() { State = VKLoginStates.Login }); ServiceHelper.VKLongPollService.StopLongPolling(); } else { Messenger.Default.Send <LoginMessage>(new LoginMessage() { State = VKLoginStates.UnknownError }); } }); #endif }
/// <summary> /// Возвращает список записей со страницы /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции</param> /// <param name="request">Объект запроса с необходимыми параметрами</param> public void GetWallPosts(Action <VKResponse <List <VKBaseWallPost> > > callback, GetWallRequest request) { VKHelper.GetResponse <List <VKBaseWallPost> >(request, callback); }
/// <summary> /// Удаляет пользователя из списка друзей. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void DeleteFriend(Action <VKResponse <VKDeleteFriendObject> > callback, DeleteFriendRequest request) { VKHelper.GetResponse <VKDeleteFriendObject>(request, callback); }
/// <summary> /// Выполняет указанную хранимую процедуру ВКонтакте. /// </summary> /// <typeparam name="T">Тип данных, возвращаемых методом.</typeparam> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void Execute <T>(Action <VKResponse <T> > callback, VKExecuteRequest request) { VKHelper.GetResponse <T>(request, callback); }
/// <summary> /// Позволяет пожаловаться на комментарий к видеозаписи. /// </summary> /// <param name="callback">Метод, который будет вызван по завершении операции. /// Параметр является результатом запроса.</param> /// <param name="request">Объект запроса с необходимыми параметрами.</param> public void ReportComment(Action <VKResponse <VKOperationIsSuccess> > callback, ReportVideoCommentRequest request) { VKHelper.GetResponse <VKOperationIsSuccess>(request, callback); }