Страница 1 из 1

Первый запрос к API

Добавлено: 12 апр 2012, 13:38
alexei
Описание приложения:
Приложение выводит список друзей, полученный через 1-й запрос к API. Приложение минимизировано. Только то, что нужно.

Цель урока: Научиться пользоваться 1-м запросом к API

Где можно использовать: Лента друзей под приложением. Получение информации о пользователе.

1. Создаем приложение и разрешаем доступ к друзьям.
2. Создаем index.html с кодом:

Код: Выделить всё

<!DOCTYPE html><html><head>    <title>First request</title>    <script type="text/javascript" src="http://vk.com/js/api/xd_connection.js"></script>    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>    <script type="text/javascript">        $(function () {            d = document.location.search.substr(1);            var p = d.split("&");            var V = {}, curr;            for (i = 0; i < p.length; i++) {                curr = p[i].split('=');                V[curr[0]] = curr[1];            }            api_result = V['api_result'];            var tmp = '';            var json = jQuery.parseJSON(decodeURIComponent(api_result)); //декодирование и парсинг            tmp += '<table>';            for (var i = 0; i < json.response.length; i++) {                tmp += '<tr><td><span><img src="' + json.response[i].photo + '">' + json.response[i].first_name + json.response[i].last_name + '</span></td></tr>';            }            tmp += '<table>'            $("body").html(tmp);        });     </script></head><body style="background: #FFF"></body></html> 
3. Загружаем на сервер. Указываем ссылку на index.html и включаем приложение.

4. В поле "Первый запрос к API" вставляем следующее:

Код: Выделить всё

method=friends.get&fields=first_name, last_name, photo&count=5&format=JSON
5. Должно получиться следующее:
Изображение
 Что делать если не получается:
Глянуть сюда: http://vk.com/app2902912. Поиграться и попробовать снова.
Замечание 1: Переменная api_result не резиновая и это следует знать.
Замечание 2: Для ленты друзей приложения выгоднее воспользоваться методом friends.getAppUsers

Re: Первый запрос к API

Добавлено: 17 апр 2012, 15:57
cibersant
А как сделать что бы получить id Имя и Фото запустившего приложение,через первый запрос.

Re: Первый запрос к API

Добавлено: 17 апр 2012, 16:06
alexei

Код: Выделить всё

method=getProfiles&uids={viewer_id}&fields=first_name,photo&format=json

Re: Первый запрос к API

Добавлено: 17 апр 2012, 23:36
cibersant
спасибо

Re: Первый запрос к API

Добавлено: 19 май 2012, 02:38
T710MA
Как случайным образом 5 человек выбрать, через подобный запрос?

Re: Первый запрос к API

Добавлено: 19 май 2012, 18:02
ukhov
T710MA писал(а):Как случайным образом 5 человек выбрать, через подобный запрос?
random()

Re: Первый запрос к API

Добавлено: 19 май 2012, 18:33
T710MA
Спасибо, Я спрашиваю куда это в запрос написать?

Re: Первый запрос к API

Добавлено: 19 май 2012, 18:35
Alazaur
В настройках приложения есть поле, которое так и называется "Первый запрос к API" вот туда и писать.
UPD: А вы про рандом, сорри не понял сходу)

Re: Первый запрос к API

Добавлено: 19 май 2012, 18:40
T710MA
Извините, Вы меня совсем не понимаете. Запросы Я знаю куда писать.

Куда мне записать в запрос Ваш рандом, который Вы мне посоветовали?
method=friends.get&fields=first_name, last_name, photo&count=5&format=JSON

Что бы 5 случайных друзей получилось, а не всегда первых?

))

Re: Первый запрос к API

Добавлено: 19 май 2012, 18:59
Alazaur
В коде из первого поста вот этот кусок:

Код: Выделить всё

             var tmp = '';            var json = jQuery.parseJSON(decodeURIComponent(api_result)); //декодирование и парсинг            tmp += '<table>';            for (var i = 0; i < json.response.length; i++) {                tmp += '<tr><td><span><img src="' + json.response[i].photo + '">' + json.response[i].first_name + json.response[i].last_name + '</span></td></tr>';            }            tmp += '<table>' 
Замените на:

Код: Выделить всё

             var tmp = '';            var json = jQuery.parseJSON(decodeURIComponent(api_result)); //декодирование и парсинг            var maxindex = json.response.length - 1;            var currentindex = 0;            tmp += '<table>';            for (var i = 0; i < 5; i++) {                currentindex = Math.round(Math.random() * maxindex);                tmp += '<tr><td><span><img src="' + json.response[currentindex].photo + '">' + json.response[currentindex].first_name + json.response[currentindex].last_name + '</span></td></tr>';            }            tmp += '</table>';