[Plugin] VkAPI (JS SDK, устаревший)

Сообщение [Plugin] VkAPI (JS SDK, устаревший)
» 29 окт 2019, 00:57

Вроде как с 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>


vk_api_reviver200.rar
(215.99 КБ) Скачиваний: 270
Новый плагин. Версия 2.0
AquaBarbus-c2-vkapi.zip
(716.27 КБ) Скачиваний: 184
Старый плагин (не рабочий)
Аватара пользователя

Модератор
Сообщений: 5242
Я тут с 18 сен 2015, 20:02
Откуда: Екатеринбург