7.02M
Category: informaticsinformatics

GDG. 20.02. Обход ограничений VK Audio API на iOS

1.

Обход ограничений
VK Audio API
на iOS
/
Камашев Виталий
iOS-разработчик, ЦВТ

2.

С чего всё началось?

3.

Изучение API соцсетей

4.

Audio api VK недоступно с конца 2016 г.
https://vk.com/dev/audio_api

5.

Пути обхода ограничения
1. При обращении к API использовать id официальных приложений VK
(пользоваться привилегированным API)
2. Делать запросы аналогично браузеру.
https://habr.com/post/340810/

6.

Общая идея
-
Использовать webView для авторизации на официальном сайте
Сохранять Cookie после авторизации
Используя полученные Cookie делать запросы к audio api
аналогично браузеру

7.

Реализация

8.

Авторизация

9.

Хранение Cookie

10.

WKWebView

11.

Сокрытие WebView и парсинг ownerID в методах
WKNavigationDelegate

12.

Пример HTML после успешной авторизации

13.

Дебажим Audio API с помощью Google Chrome
Chrome
Developer Tools

14.

Инструменты разработчика в Google Chrome

15.

Запросы к “al_audio.php”

16.

Запрос для поиска

17.

Делаем запросы через Postman

18.

Результат запроса

19.

Парсим HTML

20.

JSON плейлиста

21.

Парсим модель аудиозаписи
audioplayer.js

22.

Получения URL аудиозаписей при поиске

23.

Воспроизводим полученный URL
https://vk.com/mp3/audio_api_unavailable.mp3?extra=AdnUouu1s
wuWsLHMAx04Efi1DtD1Bxq3B25HmuHvwJfdBZDPv3blCePHywuXz
c1Yve44rxztxZvtzgrbohu1ueP6y2vHCgeWtJLlzfyZDc1YEuvKDha5Ev
92vMvrnhn2A2DZzMv4yY8OlLyUtdnMnLG9vvjgBKnOuKWZudvnoxjts
deVrNnVzhnMDM5Hzwnfq2vYx1qVsOHxv1DWqxzLDdriv2nctZ9IAM
G6wxmWBvPgvs5vCtvgovrnt3riB1eTuwjfDM5lsNvesxrZBhrUl1f3BW
#AqS4mdy

24.

Расшифровка URL
audioplayer.js

25.

Модификация js кода
https://habr.com/post/340810/

26.

Класс для дешифрования

27.

Воспроизводим полученный URL после дешифрования
https://cs38v4.vkuseraudio.net/p1/79c4fca6e60d0e.mp3?extra=ZrQA8j98KS7VOqJ
AHTFlUxwBqjweo7Las3yGYfMBhkk6EtxjtfGfH7wNCusfH2-ibxxZfNC5bSvqJkY4hZ1NDQDHUoA3AMNOyGTC31KlOn3ScFo4rs04FetwmnEBZNEjy7mwlBHqbegPArZZAy

28.

29.

Команда поддержки

30.

31.

Приложение
Возможности:
● Воспроизведение музыки аккаунта ВК
● Глобальный поиск музыки
● Аудиозаписи друзей
● Возможность скачивания музыки
● Возможность добавления и удаления музыки в аккаунт ВК
В перспективе:
● Продление Cookie (пока живут около суток)
● Рекомендации музыки ВК
● Более гибкая настройка плеера (рандомная очередь например)

32.

Спасибо за внимание!
/
Виталий Камашев
iOS-разработчик, ЦВТ
Telegram: vkamashev
Email: [email protected]
English     Русский Rules