[Примеры] Авторизация (получение access token) с помощью OAuth 2.0 Вконтакте (VK) и работа с API Вконтакте на PHP и JS

Содержание:

  1. Создание нового приложения
  2. Формирование ссылки для авторизации пользователя и получение токена (access
    token)
  3. Примеры работы с API VK (Вконтакте) на PHP
  4. Примеры работы с API VK.com на JavaScript (openapi.js)
  5. Реализация автопостинга записей на стену (Wall.post)

Создание нового приложения

Открываем панель управления приложениями Вконтакте, расположенную по адресу https://vk.com/apps?act=manage. В панели управления нажимаем на «Создать приложение».



В открывшейся форме вводим название приложения, выбираем платформу «Веб-сайт», указываем адрес сайта (ссылка должна быть со слешем в конце) и базовый домен.



После нажатия на «Подключить сайт» вам на телефон придёт СМС с кодом подтверждения, который необходимо будет ввести в появившемся окне.



После ввода кода из СМС будет создано новое приложение и откроется страница этого приложения. На странице приложения откройте вкладку «Настройки», там вы увидите данные для доступа к приложению: ID приложения и Защищённый ключ.



Формирование ссылки для авторизации пользователя и получение токена (access token)

Подробная документация.

Формируем ссылку и выводим её на экран:

После нажатия на «Авторизация через Вконтакте» будет открыто окно диалога авторизации и пользователю будет предложено авторизовать приложение, разрешив доступ к необходимым настройкам, запрошенным при помощи параметра scope.
После успешной авторизации приложения браузер пользователя будет перенаправлен по адресу redirect_uri, указанному при открытии диалога авторизации. При этом код для получения ключа доступа code будет передан как GET-параметр.
Получаем access_token, с помощью параметра code:

Примеры работы с API VK (Вконтакте) на PHP

Список методов API Вконтакте | Ограничения
и рекомендации

Получение информации о пользователях (метод users.get):

Получение всех фотографий пользователя (метод photos.getAll):

Примеры работы с API VK.com на JavaScript (openapi.js)

Подробная документация

Реализация автопостинга записей на стену (Wall.post)

1. При регистрации приложения указываем тип платформы «Standalone-приложение»

2. Формируем ссылку и переходим по ней в браузере

client_id — ID вашего приложения, остальные параметры без изменений.

3. После перехода по ссылке и авторизации произойдёт редирект на url, который содержит токен. Этот токен сохраняем.

d5f00aca2251588a1e6d67e401d1e…. — токен

4. Устанавливаем библиотеку vk-php-sdk
composer require vkcom/vk-php-sdk

5. Применяем метод wall.post для публикации сообщений в группу: