Мой Мир API - Вывод информации о пользователе

Готовые уроки по использованию API FaceBook, Мой Мир, Одноклассники и др.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Мой Мир API - Вывод информации о пользователе

Сообщение Александр »

Мой Мир API - Вывод информации о пользователе
ActionScript 3.0 (Adobe Flash CS4)

UPD 5.11.2010
В методах Мой Мир API могли произойти изменения и приложение из этого урока может работать некорректно.


Приложение получает информацию о пользователе, просматривающем приложение, выводит его аватар, имя, дату рождения, город, пол, ссылку на страницу и показывает статус присутствия на сайте.

Урок создан для тех, кто хочет начать создавать приложения для социальной сети Мой Мир, но не знает с чего начать.


Описание используемого метода

users.getInfo
Возвращает анкетную информацию о пользователях, доступную текущему пользователю. Информация, которую текущий пользователь не может увидеть на странице запрашиваемых пользователей не будет возвращена.
uids - Список идентификаторов пользователей, разделенных запятыми, для которых мы получаем анкетную информацию. Не более 200 идентификаторов в одном вызове.

Для взаимодействия с API, необходимо передавать ряд обязательных параметров, а также параметров зависящих от метода API.
К обязательным параметрам относятся:
app_id - идентификатор приложения;
method - имя метода API который нужно вызвать;
sig - подпись запроса;

Идентификатор приложения app_id можно узнать при редактировании приложения в разделе Мои разработки.
Подпись запроса (сигнатура) sig запроса рассчитывается так:
sig = md5(vid + params + private_key)

vid - id пользователя, просматривающего приложение.
params - это конкатенация пар "имя=значение" отсортированных в алфавитом порядке по "имени", где "имя" - это название параметра, передаваемого в функцию API, "значение" - значение параметра. Разделитель в конкатенации не используется.
private_key - приватный ключ. Можно узнать на странице редактирования приложения в разделе Мои разработки.


Создание приложения

Для создания приложения понадобиться Adobe Flash, если у вас уже есть эта среда разработки, то можете продолжать читать урок.

1. Получаем необходимые даные для создания приложения.

- Заходим на сайт Мой Мир.
- Переходим на страницу "Приложения".
Изображение

- Кликаем на "Разработка приложений" в правой верхней части страницы.
Изображение

- Кликаем на "Создать приложение" - зеленая кнопка в правой верхней части страницы.
Изображение

- Читаем правила.
- Если внимательно прочитали правила, ставим галочку у "Я внимательно ознакомился с правилами" и нажимаем кнопку "продолжить".
Изображение

- Вводим название приложения, выбираем "Тип приложения: Flash". Нажимаем кнопку "Создать приложение".
Изображение

- Вы попадёте в раздел: "Разработка приложений".
Изображение
Здесь список приложений, которые вы создали. В левой части - ссылка на приложение в Моем Мире, по середине - элементы для управления приложением, справа - статистика.

- Кликаем на "управление".
Здесь вы можете изменить информацию о приложении.
При создании приложения, нам понадобиться ID и Private key.
Изображение


2. Запускаем Adobe Flash и создаём Новый документ.

File -> New -> Flash File (ActionScript 3.0)
Изображение

3. Добавляем на сцену:
- Динамическое текстовое поле.
Изображение

Называем его info_tf. (Window -> Properties)
Изображение
В это поле мы будет выводить информацию о пользователе.

- UILoader с вкладки COMPONENTS (Window -> Components).
Изображение

Называем его ava_ldr.
В это поле мы будем выводить аватарку пользователя.

Выделив этот комонент на сцене, на кладке PROPERTIES изменим его высоту и ширину.
Например:
W:150.0
H:380.0
Изображение

Получаем примерно такое:
Изображение

4. Сохраняем документ.

File -> Save

Создаем новую папку и сохраняем в неё fla файл. Можно изменить имя, например my_example.fla.


5. Создаем Новый as-файл, в котором будем писать код.

File -> New -> ActionScript File
Изображение


6. Пишем код.

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

/*     https://flapps.ru/forum/ - форум о создании флеш приложений с использованием API различных социальных сетей */package {    import flash.net.URLLoader;    import flash.net.URLRequest;    import flash.display.*;    import flash.events.*;    import flash.text.TextField;     public class Main extends Sprite {        private var app_id:Number=497353; // id вашего приложения        private var private_key:String="bf298185e1d0118c8e84b6fbca9aff1c"; // секретный ключ        private var vid:String;        private var session_key:String;        private var sig:String;        private var url_loader:URLLoader;        private var url_request:URLRequest;                public function Main():void {            // узнаем id пользователя, просматривающего приложение            vid = LoaderInfo(root.loaderInfo).parameters.vid;            // узнаем session_key, необходимый для взаимодействия с API            session_key = LoaderInfo(root.loaderInfo).parameters.session_key;            // формируем подпись запроса (сигнатуру)            sig=MD5.encrypt(vid+'app_id='+app_id+'format=xmlmethod=users.getInfosession_key='+session_key+'uids=' + vid + private_key);            // составляем запрос к серверу API            url_request=new URLRequest("http://www.appsmail.ru/platform/api?method=users.getInfo&app_id="+app_id+"&format=xml&session_key="+session_key+"&sig="+sig +'&uids='+ vid);            url_loader=new URLLoader  ;            // действие, которое будет совершено после выполнения запроса            url_loader.addEventListener(Event.COMPLETE, onComplete);            // выполняем запрос            url_loader.load(url_request);                    }         private function onComplete(event:Event):void {            // подготоваливаем полученный ответ для обработки            var responseXML=new XML(url_loader.data);                        // выводим полученную информацию о пользователе            info_tf.appendText('Информация о пользователе' + '\n');            info_tf.appendText('Имя: ' + responseXML..first_name + ' ' + responseXML..last_name + '\n');            info_tf.appendText('Дата рождения: ' + responseXML..birthday + '\n');            info_tf.appendText('Пользователь в сети: ' + (responseXML..is_online == 1 ? 'Да' : 'Нет') + '\n');            info_tf.appendText('Ссылка: ' + responseXML..link + '\n');            info_tf.appendText('Пол: ' + (responseXML..sex == 0 ? 'Муж.' : 'Жен.') + '\n');            info_tf.appendText('Город: ' + responseXML..location..name[0] + '\n');                        // загружаем аватар пользователя            ava_ldr.source = responseXML..pic_big;        }     }}
Заменяем app_id на ID и private_key на Private key, которые мы узнали на первом этапе создания приложения.

7. Сохраняем as файл.
File -> Save
Сохраняем в ту же папку, в которую сохранили fla файл.
Назовём его "Main.as".
Из архива с исходником в конце этого сообщения, берем файл MD5.as и кладем в папку с Main.as.

8. Подключаем Main.as к проекту.
Выбираем вкладку с первым созданным документом, кликаем на пустом месте, чтобы снять выделение с элементов на сцене, и в PROPERTIES устанавливаем Class "Main" - созданный ранее as файл с кодом.
Изображение

9. Экспортируем приложение.
Нажимаем Ctrl + Enter. Запускается созданное приложение. Чтобы увидеть результат, его нужно загрузить в Мой Мир.
В папке с fla файлом появится swf файл. Его то и нужно загрузить в Мой Мир.


10. Загружаем приложение в Мой Мир.
- Заходим на страницу "Разработка приложений" http://api.mail.ru/app/my
- Выбираем "управление" у приложения, которое вы хотите загрузить.
- Переходим на вкладку "Настройки Flash".
- Загружаем swf:
Загрузить SWF-файл: с Вашего компьютера.
Нажимаем кнопку "Обзор" и выбираем swf файл.
Ширина: 550
Высота: 400
Если ваше приложение с другими размерами, то напишите их в эти поля.
Изображение
- Нажимаем "Сохранить".
- Приложение загружено в Мой Мир!
Теперь вы можете проверить его работу, зайдя на его страницу, клинув по его названию на странице Разработки приложений.

Если вы всё сделали верно, то увидите что-то похожее:
Изображение

Исходник https://flapps.ru/example/my_mail/my_example.rar


Урок по созданию подобного приложения для социальной сети Вконтакте здесь topic3.html
Аватара пользователя
Doker
Модератор
Модератор
Сообщения: 1026
Зарегистрирован: 07 май 2010, 18:53

Re: Мой Мир API - Вывод информации о пользователе

Сообщение Doker »

спс
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: Мой Мир API - Вывод информации о пользователе

Сообщение Влад »

Класс!
andrey.yankovich
Сообщения: 48
Зарегистрирован: 27 апр 2010, 23:58

Re: Мой Мир API - Вывод информации о пользователе

Сообщение andrey.yankovich »

2 Александр, данный пример можно подать на конкурс http://api.mail.ru/c2, до конца 14 июня…
Аватара пользователя
112
Модератор
Модератор
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53

Re: Мой Мир API - Вывод информации о пользователе

Сообщение 112 »

александр поспишите седня последнии день)))
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Мой Мир API - Вывод информации о пользователе

Сообщение Александр »

andrey.yankovich
112
Спасибо. Где-то 2 дня назад уже отправил)
fly
Сообщения: 26
Зарегистрирован: 07 ноя 2009, 21:43

Re: Мой Мир API - Вывод информации о пользователе

Сообщение fly »

Ах вот зачем всё так разжевано))
Mustafin.M
Сообщения: 166
Зарегистрирован: 09 май 2010, 08:49

Re: Мой Мир API - Вывод информации о пользователе

Сообщение Mustafin.M »

Очень подробно описано, вау!
andrey.yankovich
Сообщения: 48
Зарегистрирован: 27 апр 2010, 23:58

Re: Мой Мир API - Вывод информации о пользователе

Сообщение andrey.yankovich »

2 Александр
Известно ли что-нибудь о результатах конкурса? Уже 22 июня… на странице конкурса нет информации.
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: Мой Мир API - Вывод информации о пользователе

Сообщение Влад »

прикиньте не могу маленькую иконку загрузить и по этому приложени ене принимают на модерацию
Ответить