Вроде как с 1 мая 2020 г. JavaScript SDK отменен, но всё ещё работает
https://vk.com/dev/communuty_apps_to_vkmaПлагин позволяет получить данные о пользователе и друзьях, установивших приложение. Приложение должно быть открыто во Вконтакте, а не по ссылке в браузере.
Значения плагина
В отличии от старого плагина, данные о пользователе и друзьях не нужно сохранять в массив.
Данные о пользователе
- Vk_User_ID - ID пользователя
- Vk_User_FN - имя пользователя
- Vk_User_LN - фамилия пользователя
- Vk_User_Sex - пол пользователя: 0 - пользователя на своей странице не указал пол; 1 - женский; 2 - мужской
- Vk_User_Pone - ссылка на фото 50х50
- Vk_User_Ptwo - ссылка на фото 100х100
- Vk_User_Pthree - ссылка на фото 200х200
- Vk_User_BDate - дата рождения в формате дд.мм.гг
- Vk_User_HT - родной город пользователя
Данные о друзьях, установивших приложение
- Vk_Friends_Count - Количество друзей, установивших приложение
- Vk_Friends_FN - имя пользователя
- Vk_Friends_ID - ID друга (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_FN - имя друга (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_LN - фамилия друга (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_Sex - пол друга: 0 - не указан; 1 - женский; 2 - мужской (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_Pone - ссылка на фото друга 50х50 (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_Ptwo - ссылка на фото друга 100х100 (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_Pthree - ссылка на фото друга 200х200 (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_BDate - Дата рождения друга в формате дд.мм.гг (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
- Vk_Friends_HT - Родной город друга (в скобках укажите номер друга от 1 до 'Vk_Friends_Count')
Соответственно если мы будем менять текст Text - Set text - VkAPI.Vk_User_ID, то текст поменяется на ID пользователя. Если Text - Set text - VkAPI.Vk_Friends_ID(1)то текст поменяется на ID первого друга (если вместо 1 поставить 0, то текст поменяется на пустое значение).
Действия плагина
- Connect user - Запрос данных о пользователе (при получении данных сработает 'On user connected')
- Connect friends - Запрос данных о друзьях, установивших приложение (при получении данных сработает 'On friends connected')
Условия плагина
- On user connected - Данные о пользователе получены (требуется действие 'Connect user')
- On friends connected - Данные о друзьях получены (требуется действие 'Connect friends')
В архив добавил пример C2r272.
Плагин нужно перенести в папку программы: \Construct 2\exporters\html5\plugins\
Проверить работоспособность плагина можно по ссылке:
https://vk.com/app5051482Я не эксперт в плагинах и JavaScript API для Вконтакте, то этому возможны ошибки.
По возможности добавлю ещё функций. Но я не шарю в плагинах, этот кое как стабилен. По этому просить, например, добавить функции оплаты не надо.
Если кто-то хочет и может починить старый плагин
Прикрепляю html-код, по которому проходит авторизация (загружал вместо приложения только файл index.html с этим кодом для проверки методов). В моём плагине авторизация примерно такая же.
Почему не работает старый плагин (не только по этому, но в том числе):
Если приложение открывается во Вконтакте, то ID пользователя приложение получает автоматически, и для вызовов методов можно отправить пустой user_ids="" и серверная часть ВК автоматически подставит нужный (
https://vk.com/dev/users.get тут внизу есть пример запроса, если очистите user_ids, то получите себя). Но если в плагине оставлять user_ids="", то ничего не получается, а если вообще не отправлять user_ids (удалить в коде), то всё работает. Далее, при вызове метода
users.get в ответ автоматически придёт 5 параметров. Соответственно вызывать их не надо (в приложеном html-коде видно, что вызываю только "photo_50" (ссылку на фото 50х50), а получаю в массив 6 элементов.
Также прикрепляю старый плагин (ссылка на тему плагина
viewtopic.php?t=578 ). Этот плагин имеет больше функций. Если кто-то сможет починить его - буду благодарен (у меня не получилось починить).
- Код: Выделить всё
<html>
<head>
<script src="https://vk.com/js/api/xd_connection.js?2" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript" language="javascript">
VK.init(function() {
VK.api("users.get", {
"fields": "photo_50"},
function(data) {
var arr = '';
var val = data.response[0];
var JsonAr2Constract = new Object();
var inner = [];
JsonAr2Constract["c2array"] = 1;
inner["0"] = [[val["id"]], [val["first_name"]], [val["last_name"]], [val["id_closed"]], [val["can_access_closed"]], [val["photo_50"]]];
JsonAr2Constract["data"] = inner;
JsonAr2Constract["size"] = ['1', '6', '1'];
arr = JSON.stringify(JsonAr2Constract);
alert(arr);
});
}, function() {
alert ("no")
}, '5.102');
</script>
</body>
</html>