Как получить access_token ВКонтакте

26.07.2016 в 23:36
124.1K
просмотров
2
комментария
222
оценки
Всё чаще и чаще на рынке появляются программные продукты для ВКонтакте в виде онлайн-сервисов, мобильных или компьютерных приложений и даже скриптов, для работы которых требуется авторизация аккаунта через access_token. В ряде случаев, эти программы или сервисы сами дают возможность в пару кликов получить требуемый для авторизации ключ доступа. Но как быть, если вы скачали скрипт, а ключа access_token для его работы у вас нет?

Как получить access_token ВКонтакте

Как получить access_token?



Мы будем рассматривать метод авторизации в социальной сети ВКонтакте по прямой ссылке через API ВКонтакте (на базе протокола OAuth), именуемый Implicit flow. Авторизация таким методом выполняется через приложение ВКонтакте, указанное в виде ID. Это самый безопасный метод авторизации. В интернете вы можете найти большое количество статей, как эта, о получении access_token через различные подозрительные приложения. Мы пойдём другими путями – разберём способы авторизации через собственное приложение или официальное приложение ВКонтакте.

Способ получения токена заключается в переходе по специальной ссылке, содержащей ID некоторого приложения ВКонтакте, вида:

Цитата
https://oauth.vk.com/authorize?client_id=ID_ПРИЛОЖЕНИЯ&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

Весь вопрос в том, где же взять этот ID_ПРИЛОЖЕНИЯ. Как я и обещал, мы рассмотрим 2 способа:

  • Получение токена через собственное приложение.

    Такой метод получения токена подразумевает, что у вас есть собственное приложение. В таком случае, пропустите пару шагов. Мы же будем отталкиваться от факта, что своего приложения у вас нет, а значит вам нужно его создать. Для этого необходимо перейти на страницу управления своими приложениями по ссылке vk.com/apps?act=manage и нажать на кнопку «Создать приложение».

    Создание собственного приложения ВКонтакте для получения access_token

    Введите название для будущего приложения, например, «Получение access_token», убедитесь, что стоит галочка «Standalone-приложение» и нажмите на кнопку «Подключить приложение».

    Создание собственного приложения ВКонтакте для получения access_token

    Далее потребуется утвердить приложение, получив на телефон код подтверждения и введя его в специальное поле. Также, в процессе утверждения приложения вы можете привязать своё мобильное устройство к аккаунту ВКонтакте. Для этого нажмите на кнопку «Привязать устройство». В противном случае, просто нажмите на ссылку «Подтвердить через SMS» без привязки устройства к странице.

    Создание собственного приложения ВКонтакте для получения access_token

    После подтверждения у вас откроется страница с информацией о созданном приложении. В меню слева кликните на пункт «Настройки». Там и располагается ваш так называемый client_id, то есть ID вашего приложения ВКонтакте.

    Создание собственного приложения ВКонтакте для получения access_token

    Этот ID нужно скопировать и вставить в нашу ссылку вместо ID_ПРИЛОЖЕНИЯ. Должно получиться примерно так:

    Код
    https://oauth.vk.com/authorize?client_id=5563738&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

    5563738 – это ID нашего приложения. У вас будет похожее число.

    Дальше, при необходимости получить ключ доступа вам нужно просто перейти по этой ссылке.

  • Получение токена через официальное приложение ВКонтакте.

    Этот метод абсолютно идентичен предыдущему за исключением того, что вы не создаёте собственное приложение, а используете уже созданное, официальное приложение ВКонтакте, которому можно доверять.

    В качестве примера мы возьмём приложение ВКонтакте для Android. Его ID следующий: 2890984. В итоге, подставляя его в ссылку, она примет следующий вид:

    Код
    https://oauth.vk.com/authorize?client_id=2890984&scope=notify,photos,friends,audio,video,notes,pages,docs,status,questions,offers,wall,groups,messages,notifications,stats,ads,offline&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

На этом мы завершили часть, касающуюся идентификатора (ID) приложения, используемого при авторизации. Но осталось уточнить ещё пару моментов.

  • Права доступа:

    Вы наверняка заметили, что в примерах выше параметр scope включает в себя множество названий разделов ВКонтакте (notify, friends, photos, audio и другие). Это названия разделов, к которым вы открываете доступ приложению. Поскольку возможны различные случаи применения access_token и в силу того, что используется ID доверенного приложения (неважно, вашего или официального), мы разрешаем ссылке генерировать access_token со всеми правами доступа, который, по своей сути, является универсальным и может использоваться везде!

  • access_token:

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

    Получение access_token через приложение ВКонтакте

    После этого в адресной строке браузера и появится желаемый access_token ВКонтакте. Его нужно вручную скопировать, выделив ключ, начинающийся после фразы access_token= и заканчивающийся перед фразой &expires_in.

    Получение access_token через приложение ВКонтакте

Не рекомендуется!



Мы настоятельно не рекомендуем:

  • Предоставлять полученный access_token третьим лицам.
  • Проходить авторизацию через сомнительные приложения (помимо вашего собственного или официального).

Рекомендуется!



Мы также настоятельно рекомендуем:

  • После использования сгенерированного access_token удалять его. В случае необходимости всегда можно сгенерировать новый.
  • Завершать все активные сеансы в настройках безопасности вашего аккаунта ВКонтакте. Это быстрый способ отключить все активные ключи доступа (access_token).

А теперь, после того как вы ознакомились с информацией выше, вы можете приступить к созданию собственного приложения для генерации своего access_token или перейти по ссылке для генерации access_token через приложение ВКонтакте для Android при помощи кнопки ниже:

Вам понравился материал?
222
Похожие материалы
Обсуждение
GoldenScrew в 14:12 26.12.2016
Материал
0
Здравствуйте, а как в дальнейшем, какой командой получить полученный access_token из строки, если он идёт через #?
метод $_GET[access_token] не работает...
Сайт закрыт. Комментирование материалов невозможно.
Категории раздела
Советуем посмотреть!
Форум
Социальные сети
Хостинг от uCoz