Интеграция социальных сетей (Одноклассники 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
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    874
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Интеграция Одноклассники API в мобильное приложение

Одноклассники (OK.ru) — вторая по размеру русскоязычная социальная сеть. Аудитория сдвинута в сторону 35+, поэтому актуальна для приложений из сегментов ретейла, медиа, сервисов для семьи. API называется OK API, OAuth-поток стандартный, но подпись запросов отличается от ВКонтакте.

Регистрация приложения и ключи

На dev.ok.ru создаём приложение, получаем три ключа: application_id, application_key (публичный), application_secret_key (приватный, только на сервере). Тип приложения — «Mobile».

Авторизация: OAuth 2.0 + подпись запросов

Авторизация через WebView или системный браузер:

https://connect.ok.ru/oauth/authorize
  ?client_id=YOUR_APP_ID
  &scope=GET_EMAIL;VALUABLE_ACCESS;PHOTO_CONTENT
  &response_type=code
  &redirect_uri=yourapp://oauth

После получения code — обмениваем на access_token через POST на https://api.ok.ru/oauth/token.do.

Подпись запросов

Это главное отличие OK API. Каждый запрос подписывается:

sig = MD5(params_sorted_alphabetically + MD5(access_token + application_secret_key))

Шаги:

  1. Берём все параметры запроса кроме sig и access_token.
  2. Сортируем по имени параметра, конкатенируем в строку key=value.
  3. Считаем session_secret = MD5(access_token + application_secret_key) — это делается на сервере, секрет не передаётся клиенту.
  4. sig = MD5(params_string + session_secret).

Передавать application_secret_key на клиент нельзя — только через бэкенд-прокси. Архитектура: клиент запрашивает ваш бэкенд → бэкенд добавляет подпись → проксирует запрос к OK API.

OK SDK для мобильных платформ

iOS: OKLoginSDK через CocoaPods или SPM (неофициальный). Официального поддерживаемого Swift SDK нет — обычно реализуют OAuth-поток вручную через ASWebAuthenticationSession.

Android: Официальный ok-android-sdk на GitHub. Подключение через Gradle:

implementation 'ru.ok.android:sdk:3.0.18'

Авторизация:

OkAuthManager.startOkAutoExternal(activity, listOf(OkScope.GET_EMAIL, OkScope.VALUABLE_ACCESS))
// В onActivityResult:
val token = OkAuthManager.onActivityResult(requestCode, resultCode, data, listener)

Получение данных пользователя

GET https://api.ok.ru/fb.do
  ?method=users.getCurrentUser
  &fields=NAME,PIC_1,LOCATION,EMAIL,GENDER
  &access_token=...
  &application_key=...
  &sig=...
  &format=json

Поля профиля OK отличаются от VK: NAME — имя, LAST_NAME — фамилия, PIC_1 — аватар 50x50, PIC_3 — аватар 128x128. Email выдаётся только при scope GET_EMAIL и только если пользователь его указал.

Публикация в OK

Scope VALUABLE_ACCESS нужен для публикации в ленту. Публикация через mediatopic.post:

POST https://api.ok.ru/fb.do
method=mediatopic.post
&type=USER_STATUS
&attachment={"media":[{"type":"text","text":"Текст поста"}]}

Для публикации с фото: сначала загружаем через photosV2.getUploadUrl, затем используем photo token в attachment.

Ошибки

  • PARAM_SESSION_EXPIRED — токен истёк. OK токены живут 30-60 дней, refresh token — дольше.
  • PERMISSION_DENIED — недостаточно scope.
  • SERVICE_UNAVAILABLE — API временно недоступен, повтор через экспоненциальный backoff.

Сроки

Авторизация через OK + импорт профиля с бэкенд-прокси для подписи — 2-3 дня. Публикация с медиа — ещё 1 день. Стоимость рассчитывается индивидуально.