VKontakte API Social Network Integration into Mobile App

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
VKontakte API Social Network Integration into Mobile App
Simple
~2-3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Integrating VKontakte API in a Mobile Application

VKontakte API is one of the few major social graphs available for CIS market integration. Main scenarios: VK ID login, profile import, wall post publishing, friend list access. API uses OAuth 2.0, but token handling differs from standard OAuth flow.

VK ID Authorization

Official SDK: VKID (iOS and Android, open source on GitHub). Replaced obsolete VK-ios-sdk and 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
        // Token for API requests
    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 -> // error handling
    }
}

VK token is user-specific, bound to user_id and permission set (scope). Scope requested on authorization: wall for publishing, friends for friend access, email for email (separate, not always granted).

Token lifetime: up to 1 year or unlimited (depends on app type). Refresh token available in recent VKID versions—use to update without re-authorization.

VK API: Requests

All methods: https://api.vk.com/method/{method}?access_token=...&v=5.199. Pin API version—5.199 at time of writing. Without pinning, method behavior may change.

Get profile:

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

Publish to wall:

POST /method/wall.post
{ message: "Post text", v: "5.199", access_token: "..." }

Get friends:

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

Limits: 3 requests/second per token. Exceed—error code 6 (Too many requests). Use execute for batch (up to 25 methods per call).

Publishing Content

Publishing with photo requires two steps: photos.getWallUploadServerPOST to received URL → photos.saveWallPhotowall.post with attachments=photo{owner_id}_{photo_id}.

Common mistake: try to post image directly via wall.post. API doesn't work that way—photo must be pre-uploaded and saved.

Errors and Edge Cases

  • Code 15: Access denied. User restricted data access in VK settings.
  • Code 17: Captcha required. Rare on mobile apps, happens with bulk requests.
  • Code 5: Invalid token. Expired or revoked—trigger re-authorization.
  • email field may be absent even with email scope—VK only returns if user confirmed email.

Flutter

No official Flutter package from VK. Options: flutter_vk_sdk (community, not always updated) or implement OAuth flow yourself via flutter_web_auth_2 + direct HTTP to API. Second option more reliable—no package support dependency.

Timeline

VK ID authorization + profile import: 1–2 days. With media publishing: +1 day. Pricing calculated individually.