Как получить токен пользователя для ВКонтакте?

Пытаюсь получить токен. Читал документацию, ничего не понял. Что делать ?

Илья

2-й уровень

Токены — это ключи доступа к API. Они используются для авторизации при запросах к API.

Токены позволяют ограничивать доступ к данным пользователя с помощью параметра scope. Он определяет рамки видимости для вашего приложения. Токен с scope=friends даёт доступ к друзьям и ни к чему больше. Таким образом, токен становится менее опасным, чем логин и пароль.

Как получить

Токен можно получить прямо из браузера. Для этого нужно только перейти по правильной ссылке. Как составить правильную ссылку:

1. Создайте Standalone приложение.

Приложения создают на странице с вашими приложениями. Дайте приложению понятное название, чтобы в будущем легко вспомнить зачем его создавали.

2. Достаньте его client_id

Снова перейдите на страницу с вашими приложениями. Нажмите на кнопку "Редактировать" рядом с нужным приложением. В адресной строке появится его id. Из этой ссылки: https://vk.com/editapp?id=678295892 видно, что client_id=678295892.

3. Соберите ссылку для получения ключа

Пример ссылки из документации Implicit Flow:

https://oauth.vk.com/authorize?client_id=1&display=page&scope=friends&response_type=token&v=5.92&state=123456
  • redirect_uri указывать не надо т.к. сайт вам не нужен, приложение же клиентское.
  • response_type и display оставьте такими, как в примере.
  • client_id вы получили на втором шаге.
  • v возьмите со страницы с версиями API. Выберите самую свежую.

scope выбирайте в зависимости от методов, которые хотите использовать. Например, для доступа к методу wall.post в документации ясно сказано: "требуются права доступа: wall".

Параметр scope указывайте через запятую, вот так: scope=photos,groups.

4. Перейдите по собранной ссылке

Вы получите access_token — строку наподобие 533bacf01e1165b57531ad114461ae8736d6506a3. Она появится в адресной строке, подписанная как access_token. Если в адресной строке появился code= вместо access_token=, проверьте правильность параметра response_type.

Что читать