Re: IFrame-приложение ВКонтакте. Вывод информации о пользователе
Добавлено: 08 ноя 2012, 14:30
vflexible
Что возвращает сервер api? Это можно увидеть с помощью Charles.
Что возвращает сервер api? Это можно увидеть с помощью Charles.
Форум о создании приложений
https://flapps.ru/forum/
В методах ВКонтакте API произошли изменения, используйте вместо метода getProfiles метод users.get
Да мне и не нужны ни кукисы, ни пароли, я же об этом писал. Вот IP-адрес это мне интересно... Подскажите как реализовать хотя бы вывод города, страны, а то мне выводит только цифры, вместо названий.Александр писал(а):xabbep
Все данные, которые можно получить, описаны в документации http://vk.com/developers.php?oid=-1&p=users.get
Никакого IP, печенья, пароля там нет.
city, country возвращают id города и страны. Чтобы узнать названия, надо использовать методы places.getCityById и places.getCountryById.
Эти методы и возвращают тебе города/страны. И уже после ответа контакта ты выполняешь присвоения своим переменным, что у такого-то пользователя - такой-то город и страна. Получение города и получение страныplaces.getCityById и places.getCountryById.
Код: Выделить всё
<html><head><link rel="stylesheet" type="text/css" href="vk.css"><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() { // когда загрузится вся страница VK.init(function() { // инициализируем Vk API // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars var parts=document.location.search.substr(1).split("&"); var flashVars={}, curr; for (i=0; i<parts.length; i++) { curr = parts[i].split('='); // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1; flashVars[curr[0]] = curr[1]; } // получаем viewer_id из полученных переменных var viewer_id = flashVars['viewer_id']; // выполняем запрос получения профиля VK.api("getProfiles", {uids:viewer_id,fields:"photo_big,city"}, function(data) { // обрабатываем полученные данные // выводим имя и фамилию в блок user_info document.getElementById('user_info').innerHTML = data.response[0].first_name + ' ' + data.response[0].last_name + '<br />' + data.response[0].city + '<br />'; // создаем img, для отображения аватарки var image=document.createElement('img'); // из полученных данных берем ссылку на фото image.src=data.response[0].photo_big; // добавляем img в блок user_info user_info.appendChild(image); }); });});</script></head><body> <div id="user_info"></div> <div id="forma"> <form class="form-wrapper cf"> <input type="text" name="id" placeholder="ID..." required> <button type="submit">Go</button> </form> </div> <div id="info"> <ul> <li id="city" class="inform">City: </li> <li id="phone" class="inform">Phone: </li> <li id="ip" class="inform">IP: </li> </ul> </div></body></html>Код: Выделить всё
cityId=data.response[0].city;VK.api("getCities", {cids:data.response[0].city}, function(data) { //здесь присваиваем название города нужной вам переменнойcityName=data.response[0].name[cityId]; //эту строку надо уточнить, потому что я не уверен, что она будет работать});