Інтеграція соціальних мереж (ВКонтакте API) у мобільний застосунок

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Інтеграція соціальних мереж (ВКонтакте API) у мобільний застосунок
Простий
~2-3 дні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Інтеграція ВКонтакте API у мобільний додаток

ВКонтакте API — один з небагатьох крупних соціальних графів, доступних для інтеграції на ринку СНГ. Основні сценарії: авторизація через VK ID, імпорт профілю, публікація контенту на стіну, отримання списку друзів. API використовує OAuth 2.0, але є нюанси з токенами, які відрізняють ВКонтакте від стандартного OAuth-потоку.

Авторизація через VK ID

Офіційний SDK: VKID (iOS та Android, open source на GitHub). Замінив застаріли VK-ios-sdk та VK-android-sdk.

iOS:

import VKID
let vkid = try! VKID(config: Configuration(appCredentials: AppCredentials(
    clientId: "YOUR_APP_ID",
    clientSecret: "YOUR_SECRET"
)))
vkid.authorize(with: AuthConfiguration(flow: .authorizationCode)) { result in
    switch result {
    case .success(let session):
        let accessToken = session.accessToken.value
        // Токен для API-запитів
    case .failure(let error):
        print(error)
    }
}

Android:

val vkid = VKID(context)
vkid.authorize(
    activity = this,
    config = AuthConfiguration.build {
        oAuth = OAuthListWidget.OAuthItem.VK
    }
) { result ->
    when (result) {
        is AuthResult.Success -> val token = result.token.accessToken
        is AuthResult.Failure -> // обробка помилки
    }
}

Токен VK — користувацький, привязан до конкретного user_id та набору дозволів (scope). Scope запитується при авторизації: wall для публікації, friends для доступу до друзів, email для e-mail (видається окремо та не завжди).

Термін дії токена — до 1 року або безстроковий (залежить від типу додатку). Refresh token з'явився у нових версіях VKID SDK — використовуйте для оновлення без повторної авторизації.

VK API: запити

Все методи — https://api.vk.com/method/{method}?access_token=...&v=5.199. Версію API фіксуйте — 5.199 на момент написання. Без фіксації версії поведінка методів може змінитись.

Отримання профілю:

GET /method/users.get?fields=photo_200,city,bdate&v=5.199&access_token=...

Публікація на стіну:

POST /method/wall.post
{ message: "Текст поста", v: "5.199", access_token: "..." }

Отримання друзів:

GET /method/friends.get?fields=photo_100,online,city&order=hints&count=100&v=5.199

Ліміти: 3 запити в секунду на один токен. При перевищенні — код помилки 6 (Too many requests). Використовуйте execute для батч-запитів (до 25 методів в одному виклику).

Публікація контенту

Публікація з фото потребує двох кроків: photos.getWallUploadServerPOST на отриманий URL → photos.saveWallPhotowall.post з attachments=photo{owner_id}_{photo_id}.

Часта помилка: спробувати опублікувати зображення напряму через wall.post. API так не працює — фото повинно бути попередньо завантажено та збережено.

Помилки та edge-кейси

  • Код 15 — Access denied. Користувач обмежив доступ до даних в налаштуваннях VK.
  • Код 17 — Потрібне підтвердження через captcha. На мобільних додатках рідко, але бувает при масових запитах.
  • Код 5 — Invalid token. Токен істік або відозваний — тригер для повторної авторизації.
  • Поле email може бути відсутнім навіть при scope email — VK видає його тільки якщо користувач підтвердив пошту.

Flutter

Офіційного Flutter-пакету від VK немає. Варіанти: flutter_vk_sdk (community, не завжди актуальний) або реалізувати OAuth-потік самостійно через flutter_web_auth_2 + прямі HTTP-запити до API. Другий варіант надійніше — немає залежності від підтримки пакету.

Терміни

Авторизація через VK ID + імпорт профілю — 1-2 дня. Публікація контенту з медіа — ще 1 день. Вартість розраховується індивідуально.