vkTools [1.0.0-beta]
Всем доброго дня. У меня постоянно возникают задачи работы с VK Api и из проекта в проект это одни и те же куски кода. Надоело так жить!) Поэтому сегодня я вам представляю небольшой компонент для работы с VK Api.
По сути это небольшая библиотека-обертка над VK.
Подключаем через getService.
Список реализованных методов на текущий момент:
Сниппет с примерами в комплекте :)
Компонент на github.
Компонент в modstore.pro
По сути это небольшая библиотека-обертка над VK.
Подключаем через getService.
$vkPath = MODX_CORE_PATH . 'components/vktools/model/';
$modx->getService('vk', 'vktools.vkTools', $vkPath);
Список реализованных методов на текущий момент:
- getAuthUrl($scope = '', $html = false, $display = 'page', $callback_url = 'https://api.vk.com/blank.html') — генерация ссылки на получение токена (только для standalone приложений)
- uploadFile($server, $file) — метод для загрузки файла
- api($method, $params=array()) — запрос любого метода VK api
- setSessionAccessToken($access_token) — установка токена в сессию
- removeSessionAccessToken() — удаление токена из сессии
- vktools_access_token — базовый токен (используется при выключенной настройке токенов в сессии)
- vktools_app_id — app_id приложения VK
- vktools_app_secret — app_secret приложения VK
- vktools_session_token_mode — разрешать ли хранение токена в сессии (по умолчанию false)
Сниппет с примерами в комплекте :)
<?php
$vkPath = MODX_CORE_PATH . 'components/vktools/model/';
$modx->getService('vk', 'vktools.vkTools', $vkPath);
echo $modx->vk->getAuthUrl('messages,wall,photos,offline', true);
print_r($modx->vk->api('users.get', array()));
Компонент на github.
Компонент в modstore.pro
Комментарии: 10
какой ты добрый сегодня Лев )
круто спасибо, а его можно использовать совместно с hybridauth?
Думаю что да, если словить токен при авторизации через hybrid и передать в сессию) Но понятно, что далеко не все методы будут работать, а только те, которые разрешены scope.
отлично) предлагаю это реализовать)
а выбор scope через опции или как-то по другому
а выбор scope через опции или как-то по другому
Не, тут реализовывать не буду, смысла нету. Это обертка все-таки, плюс авторизация через гибридаус по scope мало требует, только профиль помоему и все.
Привет, не подскажешь как фотки дёрнуть по https (app_id, secret и access_token в настройки ввёл)
вызываю:
вызываю:
$photosObj = $modx->vk->api('photos.get', array(
'album_id' => '*****184',
'owner_id' => '*****71',
'count' => $limit,
'photo_sizes' => '1'))[response];
Прилетают http.
Вот что я никак не могу понять — почему серверные запросы к API не требуют авторизации, а javascript Open API с клиента обязательно требует аутентификации пользователя. Даже если тебе нужно забрать данные, доступные всему интернету. Меня как front-endера эта политика разочаровывает.
Всего у меня 2 проекта, в котором нужен vk api — в первом отделался лёгким испугом — написал топорный сниппет без параметров, всего то забрать отзывы и немного данных о каждом юзере. Но со вторым я бы так легко не отделался — через vk api заполняется добрая половина ресурса. Плагин оказался полезен, хотя кнеш требует доработки — всё равно метод в сниппете приходится писать и сниппет уже вызывать в чанке. Топорно, но выбирать не приходится. Ссылка на github в modstore оказалась битой, хотел посмотреть код, додумать универсальность до [[vkapi? &method=`users.get` &=user_id=`xxxxxxxx` &fields=`photo_100`&tpl=`wrapperChunk`]] к примеру. Было бы идеально. Ув автор, спасибо за плагин, найс. Актуализируй, пж, ссылку на github репозиторий
Всего у меня 2 проекта, в котором нужен vk api — в первом отделался лёгким испугом — написал топорный сниппет без параметров, всего то забрать отзывы и немного данных о каждом юзере. Но со вторым я бы так легко не отделался — через vk api заполняется добрая половина ресурса. Плагин оказался полезен, хотя кнеш требует доработки — всё равно метод в сниппете приходится писать и сниппет уже вызывать в чанке. Топорно, но выбирать не приходится. Ссылка на github в modstore оказалась битой, хотел посмотреть код, додумать универсальность до [[vkapi? &method=`users.get` &=user_id=`xxxxxxxx` &fields=`photo_100`&tpl=`wrapperChunk`]] к примеру. Было бы идеально. Ув автор, спасибо за плагин, найс. Актуализируй, пж, ссылку на github репозиторий
Почему не требуют? Требуют. Там есть буквально несколько методов, которые без авторизации нынче доступны. Написать такой сниппет то вообще не проблема, там 20 строк кода будет. У меня исходники не уверен, что есть. Надо искать =(
Приветствую, а есть примеры реализации на страницу, допустим сообщений из топика?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.