public Authorize ( VkNet.ApiAuthParams @params ) : void | ||
@params | VkNet.ApiAuthParams | |
Résultat | void |
static void Main(string[] args) { int appID = 5293954; //id приложения, который выдается при регистрации приложения в ВК string login = "******";// логин и пороль пользователя string password = "******"; // в целях безопасности моей страницы в ВК, пороль не настоящий Settings scope = Settings.Groups; var vk = new VkApi(); vk.Authorize(appID, login, password, scope); // авторизация --> documentation https://vknet.github.io/vk/authorize/ int outCount; Group embassyUSA = vk.Groups.Search("Посольство США в Беларуси", out outCount).First();// получаем данные о группе PhotoGetAlbumsParams param = new PhotoGetAlbumsParams(); param.OwnerId = embassyUSA.Id * (-1); // индентификатор группы, для полуния ее альбомов (умножен на -1, так как cказано в документации API -> https://vknet.github.io/vk/photos/getAlbums/) param.Count = 7; int count = 0; var albums = vk.Photo.GetAlbums(out count, param);// получаем все альбомы var selfieAlbum = albums.Where(x => x.Title == "Selfie Contest").First(); // выбираем альбом по названию, в котором фото учасников PhotoGetParams photoParam = new PhotoGetParams(); photoParam.OwnerId = embassyUSA.Id * (-1); // индентификатор группы, для полуния ее альбомов (умножен на -1, так как cказано в документации API -> https://vknet.github.io/vk/photos/get/) photoParam.AlbumId = PhotoAlbumType.Id(selfieAlbum.Id); // тут указываем, индентификатор альбома, фотографии которого нам нужны photoParam.Extended = true; photoParam.Count = 82; var selfiePhotos = vk.Photo.Get(out count, photoParam);// получаем список фотографий int number = 1;// счетчик номера фотографии foreach (var photo in selfiePhotos)//перебираем фотографии по одной, начиная с первой { LikesGetListParams listParam = new LikesGetListParams(); listParam.Count = 500; listParam.ItemId = photo.Id.Value; //берем индентификатор текущей фотографии listParam.Type = LikeObjectType.Photo; listParam.Filter = LikesFilter.Likes; // говорим, что хотим получить информацию о лайках пользователей listParam.OwnerId = embassyUSA.Id * (-1); // указываем индентификатор владельца фотографи, т. е. вашей группы var users = vk.Likes.GetList(listParam); // получаем список пользователей лайкнувших данную фотографию --> documentation https://vknet.github.io/vk/likes/getList/ int inGroup = 0; // счетчик для количества, лайкнувших текущую фотографию, пользователей, которые состоят в группе. foreach (var id in users)//перебираем пользователей, лайкнувших текущую фотографию, по одному, начиная с первого { Thread.Sleep(400);// приостанавливаем программу на 0.4 секунды, так как есть ограничение на количество запросов к Вконтакте в секунду. if (vk.Groups.IsMember(embassyUSA.Id, id))//проверяем состоит ли текущий пользователь в группе --> documentation https://vknet.github.io/vk/groups/isMember/ { inGroup = inGroup + 1; // если состоит, увеличиваем счетчик на 1 } } Console.WriteLine(String.Format("{0} Likes - {1} InGroup - {2} ", number, users.Count, inGroup)); // Отображаем информациию на консоль. number++; } Console.ReadLine();// Ждем нажатия клавиши интер, после чего приложение(консоль) закрывается. }
private void authButton_Click(object sender, RoutedEventArgs e) { if (tbLogin.Text == "" || tbPassword.Password == "") MessageBox.Show("Please, fill all the fields!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); else { var vkApi = new VkApi(); try { vkApi.Authorize(Convert.ToInt32(Properties.Settings.Default.appId), tbLogin.Text, tbPassword.Password.ToString(), VkNet.Enums.Filters.Settings.All); Properties.Settings.Default.token = vkApi.AccessToken; Properties.Settings.Default.id = vkApi.UserId.ToString(); Properties.Settings.Default.auth = true; Properties.Settings.Default.Save(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }
private void bSave_Click(object sender, EventArgs e) { WebClient webc = new WebClient(); pb1.Visible = true; pb1.Maximum = mList.Items.Count; pb1.Minimum = 1; pb1.Step = 1; pb1.Value = 1; int appID = 5272595; // ID приложения string email = "your email"; // email или телефон string pass = "******"; // пароль для авторизации Settings scope = Settings.All; var vks = new VkApi(); vks.Authorize(appID, email, pass, scope); int totalCount; for(int i = 0;i <= mList.Items.Count;i++) { try { var audios = vks.Audio.Search(mList.Items[i].ToString(), out totalCount); Uri u = new Uri(audios[0].Url.OriginalString); webc.DownloadFile(u, @"E:\music\" + audios[0].Title + ".mp3"); pb1.PerformStep(); } catch(Exception exc) { MessageBox.Show(exc.Message); } } }
public TelegramSender(IConfiguration configuration, ILogger <VkApi> logger) { var tokens = configuration.GetSection("Tokens").Get <TokenConfig>(); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); _userId = tokens.TelegramId; _telegram = new TelegramBotClient(tokens.Telegram); _telegram.OnMessage += _telegram_OnMessage; _telegram.OnMessageEdited += _telegram_OnMessageEdited; _telegram.OnCallbackQuery += _telegram_OnCallbackQuery; _telegram.StartReceiving(); _vkNet = new VkApi(logger); _vk = new Vkontakte(0) { AccessToken = new VkLibrary.Core.Auth.AccessToken { Token = tokens.Vk, ExpiresIn = 0 } }; _vkNet.Authorize(new VkNet.Model.ApiAuthParams { AccessToken = tokens.Vk }); var poolServer = _vkNet.Messages.GetLongPollServer(); _vkPool = _vk.StartLongPollClient(poolServer.Server, poolServer.Key, (int)poolServer.Ts).GetAwaiter().GetResult(); _vkPool.AddMessageEvent += _vkPool_AddMessageEvent; _httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"); }
private VkApiFactory() { vk = new VkApi(); vk.isDefaultVkApi = true; vk.email = email; vk.Authorize(appID, email, pass, scope); timer = new Timer(relogin, null, interval1day, interval1day); }
public List<VkApi> botAutorization(StreamReader sr, int count, int appId) { List<VkApi> result = new List<VkApi>(); for (int i = 0; i < count; i++) { string[] login_pass = sr.ReadLine().Split(';'); VkApi api = new VkApi(); try { api.Authorize(appId, login_pass[0], login_pass[1], VkNet.Enums.Filters.Settings.All); // авторизуемся } catch (VkNet.Exception.VkApiAuthorizationException) { MessageBox.Show(string.Format("Проблема с авторизацией у {0};{1}", login_pass[0], login_pass[1])); break; } result.Add(api); } return result; }
private void authorizationBeta() { try { int appID = 12345; // ID приложения string email = "+380931296865"; // email или телефон string pass = "******"; // пароль для авторизации Settings scope = Settings.All; vk = new VkApi(); vk.Authorize(appID, email, pass, scope); MessageBox.Show("Авторизация прошла успешно"); } catch (VkApiAuthorizationException e) {MessageBox.Show(e.Message); } catch (VkApiException e) { MessageBox.Show(e.Message); } catch (Exception e) { MessageBox.Show(e.Message); } }
public MusicLoader(string syncDir, string token, long userId) { DependencyUtility.BuildUp(this); syncDirectory = syncDir; this.userId = userId; api = new VkApi(); api.Authorize(token, userId); api.Invoke("stats.trackVisitor", new Dictionary<string, string>(), true); // статистика посещаемости приложения remoteAudioSizeHelper = new RemoteAudioSizeHelper(Path.Combine(AppPaths.SettingsPath, "sizes.dat")); tracks = new ConcurrentSortedList<int, Track>(); int key = 0; foreach (var track in TrackRepository.GetTracks()) tracks.Add(key++, track); }
public VkApi getVkApi(string email, string pass, Settings settings) { if(timersPool.ContainsKey(email)) { return timersPool[email].vk; } else { vk = new VkApi(); vk.isDefaultVkApi = false; vk.email = email; vk.Authorize(appID, email, pass, settings); VkApiWrapper wrap = new VkApiWrapper(); wrap.vk = vk; wrap.password = pass; wrap.settings = settings; timersPool[email] = wrap; return vk; } }
public string GenerateUnitTest(string categoryName, string accessToken) { // 1. read assembly // 2. find methods in particular category // 3. find methods with not input parameters (it's the most simple case) // 4. invoke a method // 5. construct unit-test // 6. return it Assembly dll = Assembly.LoadFrom("VkNet.dll"); // todo refactor it later List<Type> classes = dll.GetTypes().Where(t => t.Name.Contains("Category") && t.Name.Contains(categoryName)).ToList(); Type category = classes.FirstOrDefault(); MethodInfo[] methods = category.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public); var genMethods = new List<VkMethodGenInfo>(); foreach (var methodInfo in methods) { var genInfo = GetMethodData(methodInfo); if (string.IsNullOrEmpty(genInfo.ApiMethod)) continue; Debug.WriteLine(genInfo.ToString()); genMethods.Add(genInfo); } // invoke and get json and url var api = new VkApi(); api.Authorize(accessToken); // TODO must be authorized var unittests = new List<UnitTestInfo>(); var testCategory = new StringBuilder(); foreach (var m in genMethods) { if (m.Skip) continue; var test = new UnitTestInfo { Name = string.Format("{0}_", m.Name), Url = Utilities.PreetyPrintApiUrl(api.GetApiUrl(m.ApiMethod, m.Params)) }; // TODO refactor this shit int index = test.Url.IndexOf("access_token", StringComparison.InvariantCulture); if (index != -1) { test.Url = test.Url.Substring(0, index) + "access_token=token\";"; } test.Json = Utilities.PreetyPrintJson(api.Invoke(m.ApiMethod, m.Params)); unittests.Add(test); testCategory.Append(test); } File.WriteAllText(@"d:\vk.txt", testCategory.ToString()); return string.Empty; //throw new NotImplementedException(); }
void start(int nOfBot) { int appId = 4736419; // указываем id приложения string email = getLogin(nOfBot);//"*****@*****.**"; // email для авторизации string password = getPass(nOfBot);//"qwerty123"; // пароль Settings settings = Settings.All; // уровень доступа к данным var api = new VkApi(); try { api.Authorize(appId, email, password, settings); // авторизуемся } catch (VkNet.Exception.VkApiAuthorizationException) { MessageBox.Show("Проблема с авторизацией"); return; } var group = api.Utils.ResolveScreenName(getGroup()); // получаем id сущности с коротким именем habr var userIds = new List<long>(); StreamReader sr = new StreamReader("ids.txt"); while (!sr.EndOfStream) userIds.Add(long.Parse(sr.ReadLine())); sr.Close(); StreamWriter sw = new StreamWriter("ids.txt"); foreach (long id in userIds) { if (getRequiredMessages() == 0 && getRequiredFriends() == 0) { sw.WriteLine(id); break; } if (!api.Users.Get(id).CanWritePrivateMessage && getRequiredMessages() > 0) { sendMessage(api, id); gRM--; } else if (getRequiredFriends() > 0) { if (id == api.UserId) break; api.Friends.Add(id); gRF--; } else sw.WriteLine(id); } getRequiredFriends(); getRequiredMessages(); sw.Close(); }
private void Form1_Load(object sender, EventArgs e) { vkapi = new VkApi(); vkapi.Authorize(appId, myTel, myPass, Settings.Groups | Settings.Wall); token = vkapi.AccessToken; }
//public Auth() { } public VkApi DoAuthorization(string userEmail, string userPassword) { var api = new VkApi(); api.Authorize(appID, userEmail, userPassword, Settings.All); return api; }
private void AddProfiles() { radWaitingBar1.Invoke(new del((a)=>radWaitingBar1.Visible =a),true); radWaitingBar1.Invoke(new del((a) => radWaitingBar1.StartWaiting()), true); // AddProfilesButton1.Visible = false; int fromAge = 0; int toAge = 99999; int withPhoto = withPhotoCheckBox1.Checked == true ? 1 : 0; int country = countryList1.SelectedIndex == 1 ? 1 : 0; ; int city = cityList1.SelectedIndex == 1 ? 60 : 0; int status = statusList1.SelectedIndex; int sex = sexList1.SelectedIndex; int offset = 0; int.TryParse(fromTextBox.Text, out fromAge); int.TryParse(toTextBox.Text, out toAge); int.TryParse(offsetTextBox1.Text, out offset); StreamReader sr = new StreamReader("Login_pass.txt"); string[] loginPass = sr.ReadLine().Split(';'); sr.Close(); VkApi api = new VkApi(); try { api.Authorize(APP_ID, loginPass[0], loginPass[1], VkNet.Enums.Filters.Settings.All); // авторизуемся } catch (VkNet.Exception.VkApiAuthorizationException) { MessageBox.Show("Проблема с авторизацией"); return; } VkNetAddition vkSearch = new VkNetAddition(); Dictionary<string, string> parameters = new Dictionary<string, string>(); if (country != 0) parameters.Add("country", country.ToString()); if (city != 0) parameters.Add("city", city.ToString()); if (country != 0) parameters.Add("sex", sex.ToString()); if (status != -1) parameters.Add("status", status.ToString()); parameters.Add("has_photo", withPhoto.ToString()); if (fromAge != 0) parameters.Add("age_from", fromAge.ToString()); if (toAge != 0) parameters.Add("age_to", toAge.ToString()); int count; var users = vkSearch.Search(api, out count, qTextBox1.Text, 1000, offset, parameters); Dictionary<long, bool> map = new Dictionary<long, bool>(); foreach (var user in users) { map[user.Id] = false; } using (sr = new StreamReader("Profiles.txt")) { while (!sr.EndOfStream) { string str = sr.ReadLine(); if (!string.IsNullOrEmpty(str)) map[long.Parse(str)] = true; } sr.Close(); } using (StreamWriter sw = File.AppendText("Profiles.txt")) { foreach (var user in map) { if (user.Value == false) sw.WriteLine(user.Key); } } radWaitingBar1.Invoke(new del((a) => radWaitingBar1.Visible = a), false); // AddProfilesButton1.Visible = true; }
private void btnRun_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(tbMethodName.Text)) { MessageBox.Show("Не указано имя метода!"); return; } // get authorization values from app.config int appId; try { string appIdValue = ConfigurationManager.AppSettings["appId"]; appId = Convert.ToInt32(appIdValue); } catch (FormatException) { MessageBox.Show("Ошибка в разборе appId из app.config", "Ошибка приложения", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } string login = ConfigurationManager.AppSettings["login"]; string password = ConfigurationManager.AppSettings["password"]; btnRun.Enabled = btnGetTest.Enabled = false; // Authorize on vk server var api = new VkApi(); try { api.Authorize(appId, login, password, Settings.All); } catch (VkApiException) { MessageBox.Show("Ошибка авторизации. Проверьте данные в app.config.", "Ошибка приложения", MessageBoxButtons.OK, MessageBoxIcon.Error); btnRun.Enabled = btnGetTest.Enabled = true; return; } // Combine parameters var parameters = new VkParameters(); for (int i = 1; i < 11; i++) { var name = (TextBox) pnlParams.Controls.Find(string.Format("tbParamName{0}", i), false)[0]; var value = (TextBox)pnlParams.Controls.Find(string.Format("tbParamValue{0}", i), false)[0]; string paramName = name.Text.Trim(); string paramValue = value.Text.Trim(); if (string.IsNullOrEmpty(paramName)) continue; parameters.Add(paramName, paramValue); } string methodName = tbMethodName.Text.Trim(); VkResponse response; try { response = api.Call(methodName, parameters); } catch (VkApiException ex) { MessageBox.Show(ex.InnerException != null ? ex.InnerException.Message : ex.Message, "Ошибка приложения", MessageBoxButtons.OK, MessageBoxIcon.Error); btnRun.Enabled = btnGetTest.Enabled = true; return; } tbJson.Text = response.RawJson; _apiUrl = api.GetApiUrl(methodName, parameters); llVkApiUrl.Text = _apiUrl.Length > 80 ? _apiUrl.Substring(0, 80) + "..." : _apiUrl; btnRun.Enabled = btnGetTest.Enabled = true; }
private void InitInternal(string email, string password, IWebDownloader downloader, string userId = null) { var api = new VkApi(); try { api.Authorize(APP_ID, email, password, Settings.Audio); } catch (Exception e) { throw new AuthException("Authorization error! Original exception:\n" + e.ToString()); } var id = userId != null ? GetUserIdFromString(api, userId) : api.UserId.Value; UserFirstName = api.Users.Get(id).FirstName; InitProviders(downloader, api, id); __AudioStorage.StoreLastUserId(userId); if (userId != null) __AudioStorage.StoreUserAlias(userId, id, UserFirstName); __IsInit = true; }
private void relogin(object sender) { vk = new VkApi(); vk.Authorize(appID, email, pass, scope); }
private void downloadProfiles_Click(object sender, EventArgs e) { fromFile = radioButton2.Checked; int appId = 4736419; // указываем id приложения string email = getLogin(0);//"*****@*****.**"; // email для авторизации string password = getPass(0);//"qwerty123"; // пароль Settings settings = Settings.All; // уровень доступа к данным int oldGRM = gRM; int oldGRF = gRF; var api = new VkApi(); try { api.Authorize(appId, email, password, settings); // авторизуемся } catch (VkNet.Exception.VkApiAuthorizationException) { MessageBox.Show("Проблема с авторизацией"); return; } var group = api.Utils.ResolveScreenName(getGroup()); // получаем id сущности с коротким именем habr // получаем id пользователей из группы, макс. кол-во записей = 1000 int totalCountMembers; // общее кол-во участников ReadOnlyCollection<long> userId; StreamWriter sw = new StreamWriter("ids.txt"); int tmp = getOffset(); while (tmp < (getCount() + getOffset())) { try { userId = api.Groups.GetMembers(group.Id.Value, out totalCountMembers, getCount(), getOffset()); tmp += 1000; } catch (NullReferenceException) { MessageBox.Show("Группа указана не верно"); return; } foreach (long id in userId) { sw.WriteLine(id); } } sw.Close(); gRF = oldGRF; gRM = oldGRM; MessageBox.Show("Complete"); }
static VkApi BuildVkApi(string vkToken){ var vk = new VkApi(); vk.Authorize(vkToken); return vk; }