Implicit Flow для получения ключа доступа сообщества
Ключ доступа сообщества используется для выполнения запросов к API ВКонтакте от лица сообщества.
Ниже описан один из способов получения такого ключа — Implicit Flow.
Требования
Получить ключ доступа сообщества может только администратор этого сообщества.
Шаг 1. Получите идентификаторы сообществ
- 1.
Получите ключ доступа пользователя для администратора сообщества. Сделать это можно двумя способами: с помощью библиотеки VK ID SDK или без SDK, с помощью специально сформированного HTTP-запроса. Шаги зависят от типа вашего приложения:
- •
- •
Важно. При получении ключа доступа пользователя в параметре
scopeукажите значениеgroups. - 2.
Выполните API-запрос
groups.get. В параметреaccess_tokenпри его вызове укажите полученный ключ доступа пользователя. В параметреfilter— значениеadmin.Запрос вернёт массив с информацией о сообществах, в которых пользователь является администратором.
Шаг 2. Получите ключа доступа сообщества
- 1.
Сформируйте URL следующего вида:
https://oauth.vk.ru/access_token?{параметры}После знака
?в URL укажите следующие параметры:ПараметрОписаниеclient_idобязательныйИдентификатор вашего приложения. Вы можете найти его в панели управления приложением.group_idsобязательныйОдин или несколько идентификаторов сообществ, для которых вы будете получать ключ доступа. Где найти ID сообщества? Идентификатор надо указывать без знака «минус». Если вы указываете несколько идентификаторов, разделяйте их запятыми.redirect_uriобязательныйURL, на который будет отправлен ключ доступа. Должен совпадать с одним из адресов, указанных в настройке Доверенный Redirect URL в панели управления приложения. Значение чувствительно к регистру.vобязательныйВерсия API, которую вы используете. Актуальная версия:5.131.response_typeобязательныйТип ответа, который вы хотите получить. Важно: укажите в параметре значениеtoken.stateнеобязательныйПроизвольная строка, которая будет передана вместе с ключом доступа наredirect_uri.scopeнеобязательныйОбласти данных, к которым ключ будет давать доступ. Чтобы указать параметр, используйте строковые константы, разделённые запятыми, или битовую маску. Возможные значения — в разделе Права доступа для токена сообщества.displayнеобязательныйТип используемой формы авторизации. Возможно одно из следующих значений: •page— форма будет показана в отдельном окне. •popup— форма будет показана во всплывающем окне. •mobile— авторизация с помощью мобильного приложения ВКонтакте.Пример URL:
https://oauth.vk.ru/authorize?client_id=1&group_ids=1,123456&display=page&redirect_uri=http://example.com/callback&scope=messages&response_type=token&v=5.131 - 2.
Откройте сформированный URL на компьютере администратора сообщества.
Если пользователь ещё не ввёл аккаунт и пароль VK ID, ему будет предложено это сделать.
После успешного входа платформа запросит у пользователя разрешение на доступ к его данным для вашего приложения.
- 3.
После того как пользователь разрешит доступ к данным, платформа отправит HTTP-запрос на URL, указанный в параметре
redirect_uri. Ключ доступа будет указан в URL-параметреaccess_tokenэтого запроса:http://<redirect_uri>#access_token_XXXXXX=533bacf01e11...6a565b57531ad114461ae8736d6506a3&expires_in=86400Здесь:
- •
XXXXXX— идентификатор сообщества, для которого был запрошен ключ доступа. - •
expires_in— время жизни ключа в секундах.
В случае ошибки URL-параметры будут содержать информацию об этой ошибке, например:
http://<redirect_uri>#error=access_denied&error_description=The+user+or+authorization+server+denied+the+request - •
Использование ключа
Используйте ключ, полученный способом Implicit Flow, чтобы отправить запросы к API ВКонтакте из кода на стороне пользователя.
Материалы по теме
- •