Api console вконтакте что это
Что такое API ВКонтакте и зачем оно нужно?
Тем, кто решил заняться разработкой приложений для ВКонтакте рано или поздно придется столкнуться с таким понятием как API (application programming interface), что в дословном переводе означает интерфейс прикладного программирования.
Более просто – API это целый комплекс разнообразных готовых функций, готовых классов, констант и т.д., которые можно использовать в сторонних приложениях. API ВКонтакте постоянно дорабатывается и сегодня это – уже полнофункциональный набор дополнений, позволяющий создать любое приложение.
Подробно ознакомиться с документацией вы можете вот здесь.
Последнее глобальное преобразование этой среды разработки было проведено еще в апреле 2009 года. Конечно, и после этого сайт постоянно модифицировался. Отметим основные возможности API ВКонтакте
1. На API был реализован доступ приложений к друзьям, их фото, видеозаписям. Приложения сейчас могут самостоятельно создавать альбомы, размещать в них информацию. Ранее такого не было. Что важно, пользователь при установке такого приложения сам решает, открывать ему доступ к личным данным или нет.
2. Рассылка приложениями уведомлений. Да, это порой надоедливое всплывающее уведомление в левой нижней части экрана также реализовано на API.
3. Приглашать друзей в приложения стало проще также благодаря интерфейсу прикладного программирования, на котором была реализована данная функция массового приглашения. Впоследствии эти приглашения стали использоваться и для рекламы.
4. Со страниц приложений исчезла реклама от ВК. Теперь разработчик игры или программы для ВК сам решает, нужна ли ему в его «флешке» реклама. Если да – он вправе разместить собственную и получать с нее 100% прибыль.
5. Как назвали это разработчики ВК, пользователи, интегрирующие приложения, получили доступ к внутренней экономике сети. Проще говоря, стало доступным API позволяющее использовать голоса ВКонтакте в качестве внутренних расчетов.
6. Возможность запуска приложений в полноэкранном режиме. Увеличение максимального размера фрейма дало возможность для размещения дополнительных баннеров с рекламой, так что сегодня разработка приложений для ВК – это не просто удовольствие, а довольно прибыльное занятие при решении заняться рекламой, продажей баннеров с него.
7. Сторонние приложения распространяются сейчас и через ленту новостей. Это еще один шаг для их популяризации. Кроме того (пусть уже и было это давно, приложению доступной стала миниатюрная иконка).
8. Порядок вывода приложений также реализован на API. Сегодня по умолчанию, те игры, которые запускаются чаще всего – находятся у вас на первых позициях. Которыми давно не пользовались – найдете в конце списка.
9. Благодаря API стала доступна и подробная встроенная статистика.Сегодня вы легко можете посчитать посетителей, просмотры страниц, пол, возраст, местонахождение пользователя приложения. Вся информация представляется максимально наглядный образом, в виде flash графиков, которые строятся моментально. Сделано это в первую очередь для рекламы (продажи рекламных площадей). Вы получаете статистику, видите что приложение используют десятки тысяч людей. Показываете это рекламодателю, который наверняка захочет оплатить баннер именно в таком приложении.
10. Для самых популярных приложений стала возможна регистрация коротких поддоменов (например chat.vk.com и аналогичных) для простого запоминания и быстрого доступа.
11. Ну и, наконец, появилась возможность вывода информации на личных страницах пользователей.
llgruff / Очистить список друзей ВКонтакте от неактивных пользователей .js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| /** |
| Инструкция: Настройки для работы с API vk.com |
| 1. Прочитать Знакомство с API ВКонтакте https://vk.com/dev/first_guide (можно пропустить:)) |
| 2. Регистрация приложения: |
| 2.1. Открыть «Мои приложения» https://vk.com/apps?act=manage |
| 2.2. Нажать «Создать» |
| 2.3. Нужно выбрать один из трех типов приложений (для старта Standalone-приложение) |
| 2.4. Подтвердить создание через СМС |
| 2.5. Открыть вкладку «Настройки» в меню слева, сохранить свой «ID приложения», он же API_ID, APP_ID, client_id |
| 3. Авторизация пользователя способом Implicit flow: |
| 3.1. Откройте новую вкладку в браузере, введите в адресную строку запрос, указав свой API_ID: |
| https://oauth.vk.com/authorize?client_id=API_ID&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=friends&response_type=token&v=5.52 |
| 3.2. Нажмите Enter. Нажмите «Разрешить». |
| 3.3. Из полученного URL сохраните свой access_token и user_id |
| https://oauth.vk.com/blank.html#access_token=. &expires_in=. &user_id=. |
| 4. Теперь Вы можете сделать вызов метода от своего имени через адресную строку браузера |
| 4.1. Получить список друзей, которые сейчас онлайн: |
| https://api.vk.com/method/friends.getOnline?user_id=. &online_mobile=0&v=5.84&access_token=. |
| 4.2. Получить список всех друзей, с полями city, online, last_seen: |
| https://api.vk.com/method/friends.get?user_id=. &fields=city%2C%20online%2C%20last_seen&name_case=nom&v=5.84&access_token=. |
| 4.3. Получить список подписчиков: |
| https://api.vk.com/method/users.getFollowers?user_id=. &offset=0&count=1000&fields=city%2C%20online%2C%20last_seen&name_case=nom&v=5.84&access_token=. |
| Инструкция: Как очистить свой список друзей ВКонтакте от неактивных пользователей |
| 1. Получить access_token и user_id |
| 2. Открыть https://api.vk.com/method/ |
| 3. Открыть консоль браузера, например используя клавиатуру: |
| 3.1. Command — Option — J (Mac) |
| 3.2. Ctrl — Shift — J (Windows/Linux) |
| 4. Скопировать код данный ниже в консоль, указав свой access_token и user_id |
| 5. Запустить скрипт, нажав Enter |
| 6. Ждать завершения работы, изучить логи |
| 7. Если будут неудаленные — повторить) |
| */ |
| // Константы, укажите свои |
| var ACCESS_TOKEN = » , // строка |
| USER_ID = 0 , // число |
| UNIX_TIMESTAMP = Math . round ( new Date ( ) . getTime ( ) / 1000 ) , |
| UNIX_DEADLINE = 2629743 ; // месяц |
| // Создаём новый объект XMLHttpRequest |
| var xhr = new XMLHttpRequest ( ) ; |
| // Конфигурируем: GET-запрос на URL. Для теста добавляем &count=5&offset=1000 |
| xhr . open ( ‘GET’ , ‘friends.get?user_id=’ + USER_ID + ‘&fields=last_seen&name_case=nom&v=5.84&access_token=’ + ACCESS_TOKEN , false ) ; |
| // Отсылаем запрос |
| xhr . send ( ) ; |
| // Если код ответа сервера не 200, то это ошибка |
| if ( xhr . status != 200 ) |
| // Обработать ошибку, пример вывода: 404: Not Found |
| console . error ( xhr . status + ‘: ‘ + xhr . statusText ) ; |
| > else |
| // Получаем результат |
| var json = xhr . responseText , |
| obj = JSON . parse ( json ) , |
| Users = obj . response . items , |
| UsersToDelete = [ ] , |
| UsersToDeleteSuccess = [ ] , |
| UsersToDeleteError = [ ] ; |
| console . log ( Users ) ; |
| // Формируем объект для удаления |
| for ( var i = 0 ; i < Users . length ; i ++ ) |
| // Если последний визит был больше месяца назад |
| if ( UNIX_TIMESTAMP — UNIX_DEADLINE > Users [ i ] . last_seen . time ) |
| UsersToDelete . push ( Users [ i ] ) ; |
| > |
| > |
| console . log ( UsersToDelete ) ; |
| // Удаляем |
| for ( var i = 0 ; i < UsersToDelete . length ; i ++ ) |
| setTimeout ( function ( i ) |
| var xhr = new XMLHttpRequest ( ) ; |
| xhr . open ( ‘GET’ , ‘friends.delete?user_id=’ + UsersToDelete [ i ] . id + ‘&v=5.84&access_token=’ + ACCESS_TOKEN , false ) ; |
| xhr . send ( ) ; |
| if ( xhr . status != 200 ) |
| console . error ( xhr . status + ‘: ‘ + xhr . statusText ) ; |
| > else |
| var json = xhr . responseText , |
| obj = JSON . parse ( json ) ; |
| // Если удалось успешно удалить друга |
| if ( typeof ( obj . response ) != «undefined» ) |
| if ( obj . response . success == 1 ) |
| UsersToDeleteSuccess . push ( UsersToDelete [ i ] ) ; |
| console . log ( ‘success’ ) ; |
| > |
| > |
| if ( typeof ( obj . error ) != «undefined» ) |
| UsersToDeleteError . push ( UsersToDelete [ i ] ) ; |
| console . error ( obj . error . error_msg ) ; |
| > |
| > |
| if ( UsersToDelete . length == i + 1 ) |
| console . log ( UsersToDeleteSuccess ) ; |
| console . info ( «Всего друзей:» , Users . length ) ; |
| console . info ( «Всего для удаления:» , UsersToDelete . length ) ; |
| console . info ( «Ошибка удаления:» , UsersToDeleteError . length ) ; |
| console . info ( «Всего удалено:» , UsersToDeleteSuccess . length ) ; |
| > |
| > , i * 500 , i ) ; |
| > |
| > |
| /** |
| Для сравнения времени: |
| Обычная дата (Human readable time) Секунды |
| 1 минута 60 секунд |
| 1 час 3600 секунд |
| 1 день 86400 секунд |
| 1 неделя 604800 секунд |
| 1 месяц (30.44 дней) 2629743 секунд |
| 1 год (365.24 дней) 31556926 секунд |
| */ |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Api console вконтакте что это
Базовый модуль запросов, позволяет вызывать методы API.
Описание типов
Инициализация
import from 'vk-io'; const api = new API( token: process.env.TOKEN >);
Концепт
Класс предоставляет алиасы для методов API ВКонтакте. Достаточно скопировать интересующий вас метод из документации и вызвать подобным образом:
const users = await api.users.get( user_ids: 1 >); console.log(users) // [< id: 1, first_name: 'Павел', last_name: 'Дуров' >]
Что произошло? Дело в том что api.users это прокси объект, который возвращает вам анонимную функцию в которой объединяет название группы и свойство которое вы указали. Как если бы вы написали так:
const users = await api.call('users.get', user_ids: 1 >); console.log(users) // [< id: 1, first_name: 'Павел', last_name: 'Дуров' >]
Вы вполне можете вызвать метод api.users.blablabla() , но единственное что вам это даст — это ошибку о том, что метод не найден, так что будьте осторожнее.
Execute
Метод принимает обязательный параметр code , остальные переданные параметры будут доступны через объект Args внутри code .
В отличие от остальных методов, execute возвращает данные в формате:
export interface IExecuteResponseT> response: T; errors: ExecuteError[]; >
Хранимые процедуры
Вызов хранимых процедур вашего приложения осуществляется с помощью метода procedure
await api.procedure('important', // Аргументы будут доступны в Args >); // Как если бы мы вызвали // await api.call('execute.important', <>);
Ограничения запросов
По умолчанию библиотека ограничивает количество запросов до 3 в секунду, этот лимит соответствует пользовательским страницам и сервисным токенам.
Для групповых токенов лимит составляет 20 , установить его можно через опцию apiLimit:
import from 'vk-io'; const api = new API( token: process.env.TOKEN, apiLimit: 20 >);
Режимы работы
Библиотека предоставляет множество режимов работы под разные ситуации. Установить режим работы можно через опцию apiMode в конструкторе.
import from 'vk-io'; const api = new API( token: process.env.TOKEN, apiMode: 'sequential' >);
sequential
Вызывает все методы последовательно, 1 метод — 1 запрос
parallel
Объединяет методы в execute, позволяет вызывать до 25 методов включительно. Максимальное количество методов в execute контролируется опцией apiExecuteCount, [1..25] методов — 1 запрос
parallel_selected
Схож по работе с parallel, за исключением того, что в execute будут попадать методы из опции apiExecuteMethods, а остальные через sequential.
Режим запросов
Вы можете контролировать, с какой периодичностью будут вызываться запросы. Установить режим работы можно через опцию apiRequestMode в конструкторе.
import from 'vk-io'; const api = new API( token: process.env.TOKEN, apiRequestMode: 'sequential' >);
sequential
Вызывает методы последовательно с выдержкой равной 1 секунда / apiMode .
burst
Параллельно отправляет методы на API во весь доступный лимит с опции apiLimit.
С данным режимом API ВКонтакте может работать нестабильно и вы будете получать EAI_AGAIN ошибку.
Использование прокси
Для того чтобы использовать прокси, достаточно передать опцию agent в конструктор. Это должен быть HTTPS Agent. На примере модуля https-proxy-agent.
import from 'vk-io'; import HttpsProxyAgent from 'https-proxy-agent'; const agent = new HttpsProxyAgent(process.env.HTTP_PROXY); // const agent = new HttpsProxyAgent('https://168.63.76.32:3128'); const api = new API( token: process.env.TOKEN, agent >);
Обработка капчи
Изображение по ссылке должно быть загружено только один раз, иначе это сгенерирует новый ключ капчи
import from 'vk-io'; const callbackService = new CallbackService(); const api = new API( token: process.env.TOKEN, callbackService >); callbackService.onCaptcha(async (payload, retry) => const key = await myAwesomeCaptchaHandler(payload.src); try await retry(key); console.log('Капча успешно решена'); > catch (error) console.log('Капча не решена'); > >);
Использование APIRequest
Может вам понадобится контролировать запрос на всех стадиях, или иметь удобную оболочку для создания execute методов.
Ручной вызов API
import from 'vk-io'; const api = new API( token: process.env.TOKEN >); const request = new APIRequest( api, method: 'users.get', params: user_ids: 1 > >); const response = await api.make(); // На каждую инстацию APIRequest создаётся Promise, доступен через свойства // request.resolve(); // request.reject(); // await request.promise;
Получение execute метода
import from 'vk-io'; const api = new API( token: process.env.TOKEN >); const request = new APIRequest( api, method: 'users.get', params: user_ids: 1 > >); const method = String(request); // API.users.get()
Вывод сообщения из ВК в консоль. VK api
Кто знает, можно ли каким-нибудь образом с помощью VK api брать сообщения, которые тебе приходят? Поясняю, тебе приходит сообщение в ЛС, и оно должно выводиться в консоль. Если кто подскажет, буду благодарен.
Отслеживать
8,561 4 4 золотых знака 21 21 серебряный знак 36 36 бронзовых знаков
задан 15 июл 2021 в 21:25
Илья Вершинин Илья Вершинин
В помощь документация vk api. Тебе нужна часть, которая про long polling. Во многих бибилотеках работа с ним реализована «из коробки». Учти: api сообщений уже несколько лет как закрыто, к нему имеют доступ только группы (что, очевидно, не твой случай) либо боты, по которым ты договорился с администрацией (это вряд ли получится). Есть способы обхода, однако они нарушают условия пользования ВК и о них поподробнее в сети.
16 июл 2021 в 0:50
Спасибо большое за ответ)
17 июл 2021 в 5:37
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Напишу Вам полноценное начало Бота
import vk_api import json from vk_api.longpoll import VkLongPoll, VkEventType from vk_api.utils import get_random_id from vk_api.keyboard import VkKeyboard, VkKeyboardColor while True: try: for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: #Получение нового сообщения (event) if event.to_me: #Если Вам msg = event.text #Получение Сообщения print(msg) except Exception as error: print(error) #Вывод ошибки в её случае