VKWebAppGetAuthToken

VKWebAppGetAuthToken показывает окно с запросом доступа у пользователя и получает ключ доступа для работы с API. Чтобы идентифицировать пользователя в мини-приложении, ключ доступа запрашивать не нужно, воспользуйтесь подписью параметров запуска.

Примечание. window.location, c которого запрашивается токен, должен совпадать с URL из настроек.

Пример

JavaScriptbridge.send('VKWebAppGetAuthToken', { app_id: 6909581, scope: 'friends,status' }) .then((data) => { if (data.access_token) { // Ключ доступа пользователя получен } }) .catch((error) => { // Ошибка console.log(error); });

Платформы

Android, iOS, Mobile Web, Web

Параметры

ПолеТипОписание
app_id обязательноеintegerИдентификатор мини-приложения.
scope обязательноеstringСписок прав доступа, перечисленных через запятую. Возможные значения:    • friends — доступ к списку друзей пользователя.    • photos — доступ к фотографиям.    • video — доступ к видео.    • stories — доступ к историям.    • pages — доступ к вики-страницам.    • status — доступ к статусу пользователя.    • notes — доступ к заметкам пользователя.    • wall — доступ к методам работы со стеной.    • docs — доступ к документам.    • groups — доступ к сообществам пользователя.    • stats — доступ к статистике групп и приложений пользователя, администратором которых он является.    • market — доступ к товарам. Чтобы получить ключ доступа без дополнительных прав, передайте в поле пустую строку.

Результат

Проверить результат можно:

  • Используя объект Promise, который возвращается вызовом bridge.send(...).

  • С помощью событий VKWebAppGetAuthTokenResult и VKWebAppGetAuthTokenFailed.

Подробнее о проверке результатов при вызовах VK Bridge.

Объект Promise

Если обращение к платформе прошло успешно, управление будет передано в then-обработчик объекта Promise. В качестве ответа платформа возвращает объект со следующими полями:

ПолеТипОписание
access_tokenstringКлюч доступа пользователя.
scopestringПрава доступа, выданные пользователем. Может отличаться от запрошенных прав доступа.
expiresintegerДата и время секундах, когда время жизни access_token истечёт (Unix Timestamp).
statusbooleanИндикатор, что событие выполнилось успешно (всегда true).

Если при обращении к платформе произошла ошибка, управление передаётся в метод catch. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.

События

VKWebAppGetAuthTokenResult

Сигнализирует, что ключ доступа пользователя получен. В обработчик события на стороне пользователя передаются следующие данные:

JavaScript{ detail: { type: "VKWebAppGetAuthTokenResult", data: { access_token: "vk12XyJnfX7mG7PE1MBW...6KV4dcdjVjzwwwSDkX", scope: "docs", expires: 1665151371, status: true } } }

Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.

VKWebAppGetAuthTokenFailed

Информирует об ошибке, которая произошла при взаимодействии с платформой.

В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.

Пример обработки событий

Смотрите раздел Обработка событий-результатов.

Песочница

VKWebAppGetAuthToken