Используем VK.com в своих целях: 5 готовых рецептов
Малолетним пользователям Вконтактик дарит безграничные возможности онлайн-общения. Зрелым сотрудникам специальных служб — добровольно и собственноручно созданные досье на вышеуказанную группу граждан. А что он может дать программисту? Разумеется, беcплатную инфраструктуру для его приложения! В условиях, когда своего сервера нет, а чужой предлагает только тестовый нестабильный ключ, не позволяющий запустить приложение в большое плавание, VK.com представляется просто идеальным вариантом. И никакой головной боли с надежностью сервера и оплатой хостинга ;).
Возможности родного Вконтактика
VK API позволяет многое. В группах часто публикуют новости, к одной записи на стене можно прикрепить до десяти вложeний (фото, видео, аудио). Мы можем сделать приложение для чтения лент новостей. Можем хранить тут видео — считай, кинотеатр в кармане. Размещать свои MP3-коллекции, хранить фото или просто документы.
Главное — правильно замаскировать содержимое от охотников за нелицензионным контентом (шифрование файлов или их названий). Впрочем, я уверен, что ты не какой-нибудь пират и в таких мерах защиты своего контента не нуждаешься ;). Если просуммировать, то с помощью VK мы можем сделать:
- новостное приложение;
- онлайн-кинотеатр;
- онлайн MP3-плеер;
- собственный фотосервер;
- убийцу Google Docs — MyVKDoc!
Теория VK API
Описание методов VK API ты найдешь по адресу.
Методы, требующие авторизации, для нашего бэкенда не очень удобны — пользователи вообще не любят, когда их лишний раз o чем-то спрашивают. Для того чтобы быстро забрать какую-либо информацию, в VK API есть метод wall.get. Он возвращает список записей со стены пользователя или сообщества. Самое замечательное в том, что это открытый метод, не требующий access_token.
То есть, если стена открытая, читать ее может кто угодно. Это то, что нужно для клиентского приложения!
Работаем с VK API через Android
C VK API можно работать как с помощью обычных POST- и GET-запросов, так и через андроид-приложение, в чем нам, как обычно, поможет Android SDK. С его помощью можно загрузить на сервер VK файлы и делать публикации на стены (метод VKApi.wall().post).
Выдержка из официальной документации: подготовка к использованию
Перед началом работы с VK SDK необходимо создать Standalone-приложение на странице создaния приложения. Сохрани ID твоего приложения и заполни поля «Название пакета для Android»,«Main Activity для Android», «Отпечаток сертификата для Android».
C ключами и Standalone-приложением все ясно, остается один нюанс: пользователь, от имени которого мы будем публиковать записи на стену, должен обладать в этой группе нужными правами. Настраивается это в разделе «Управление сообществом → Участники». Приложение при первом запуске также должно запросить права (к примеру, VKScope.WALL, VKScope.DOCS). Они указываются в методе VKSdk.login().
Если на устройстве установлено официальное приложение от VK, появится окно с запросом:
Запрос из официального приложения |
Если приложения нет, то мы увидим вот такой фрагмент, требующий ввести логин-пароль:
Web-запрос |
Теперь мы можем напрямую обращаться к методам Android SDK, не думая об авторизациях.
Затем нас ждет следующее препятствие — загрузить на стену группы можно не более 50 постов в день:
API errorVKError (code: 214; ; Access to adding post denied: you can only add 50 posts a day
Кроме того, если мы будем грузить очень быстро, то SDK остановит нас капчой:
Не так быстро, парень!
У меня она вылезла после 20 загруженных подряд документов. Алгоритм появления капчи разработчики не расскажут нам ни по дружбе, ни за деньги, ни под пытками. Опытным путем я выяснил, что достаточно безопасным будет добавлять новую запись каждые 29 минут. От такой колоссальной скорости капча проснуться не должна, и в лимит в 50 загрузок в сутки мы тоже уложимся.
Извини, но продолжение статьи доступно только подписчикам
Подписка позволит тебе читать ВСЕ платные материалы сайта, включая эту статью, без каких-либо ограничений. Мы принимаем банковские карты, Яндекс.Деньги и оплату со счетов мобильных операторов. Подробнее о проекте
1 год3400 Р Экономия 1400 рублей! |
1 месяц400 Р |
Уже подписан?
Читайте также
- Ошибка в API Facebook предоставляла доступ к фото 6,8 млн пользователей
- Одного ноутбука оказалось достаточно для компрометации всей корпоративной сети
- Депутаты Госдумы разработали план по обеспечению работы Рунета на случай отключения от Сети
- Морские суда часто подвергаются кибератакам
- 25 декабря состоится встреча сообщества специалистов по кибербезопасности АСУ ТП / RUSCADASEC
- Уязвимость в приложении Logitech позволяла удаленно инициировать нажатие клавиш