VKWebAppGetAuthToken
VKWebAppGetAuthToken
показывает окно с запросом доступа у пользователя и получает ключ доступа для работы с API. Чтобы идентифицировать пользователя в мини-приложении, ключ доступа запрашивать не нужно, воспользуйтесь подписью параметров запуска.
Примечание. window.location
, c которого запрашивается токен, должен совпадать с URL из настроек.
Пример
bridge.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_token | string | Ключ доступа пользователя. |
scope | string | Права доступа, выданные пользователем. Может отличаться от запрошенных прав доступа. |
expires | integer | Дата и время секундах, когда время жизни access_token истечёт (Unix Timestamp). |
status | boolean | Индикатор, что событие выполнилось успешно (всегда true ). |
Если при обращении к платформе произошла ошибка, управление передаётся в метод catch
. В качестве ответа платформа возвращает объект с информацией об ошибке, общий для всех событий VK Bridge.
События
VKWebAppGetAuthTokenResult
Сигнализирует, что ключ доступа пользователя получен. В обработчик события на стороне пользователя передаются следующие данные:
{
detail: {
type: "VKWebAppGetAuthTokenResult",
data: {
access_token: "vk12XyJnfX7mG7PE1MBW...6KV4dcdjVjzwwwSDkX",
scope: "docs",
expires: 1665151371,
status: true
}
}
}
Передаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса.
VKWebAppGetAuthTokenFailed
Информирует об ошибке, которая произошла при взаимодействии с платформой.
В обработчик события на стороне пользователя передаётся объект с информацией об ошибке, общий для всех методов VK Bridge.
Пример обработки событий
Смотрите раздел Обработка событий-результатов.