JavaScript
В этом уроке показано:
- как получить и отсортировать список друзей
- как разместить список друзей в элементе select
- как отправить сообщение на стену друга

code.js
- /*
- http://flapps.ru/forum - форум о создании приложений
- */
- $(document).ready(function(){
- var friends_data; // отсортированный список друзей
- VK.init(function() {
- // выполняем запрос получения списка друзей
- VK.api("friends.get", {fields:"first_name,photo"}, function(data) {
- // узнаем количество друзей
- var fr = data.response.length;
- // сортируем друзей по имени (функция sFirstName описана ниже)
- friends_data = data.response.sort(sFirstName);
- // в value элемента будем записывать номер пользователя в массиве friends_data
- for(var i=0;i<fr;i++){
- $('#friends_list').append('<option value="'+ i +'">'+ friends_data[i].first_name + ' ' + friends_data[i].last_name +'</option>');
- }
- $("#friends_list").change(function () {
- // узнаем какой элемент выбран в select
- selectVal = $('#friends_list option:selected').val();
- if (selectVal!='') { // если выбран друг
- // вытаскиваем из массива фотографию выбранного польователя по номеру в массиве
- $('#user_info').html('<img src="'+ friends_data[selectVal].photo +'"/>');
- } else { // если выбрано "выберите друга"
- // очищаем блок с аватаркой
- $('#user_info').html('');
- }
- })
- });
- });
- $('#send_btn').click(function() {
- if ($('#friends_list option:selected').val()!='') { // если выбран пользователь
- if ($('#message_tf').val()!='') { // если введено сообщение
- uid_to = friends_data[$('#friends_list option:selected').val()].uid; // id выбранного пользователя
- message_to = $('#message_tf').val();
- // отправляем запись на стену
- VK.api('wall.post',{owner_id:uid_to, message:message_to},function(data) {
- if (data.response) { // если получен ответ
- alert('Сообщение отправлено! ID сообщения: ' + data.response.post_id);
- } else { // ошибка при отправке сообщения
- alert('Ошибка! ' + data.error.error_code + ' ' + data.error.error_msg);
- }
- });
- } else {
- alert('Введите сообщение!');
- }
- } else {
- alert('Выберите пользователя!');
- }
- return false;
- });
- });
- // функции сортировки
- function sFirstName(a,b) {
- if (a.first_name > b.first_name)
- return 1;
- else if (a.first_name < b.first_name)
- return -1;
- else
- return 0;
- }
- /* flapps.ru */
index.html
- <html>
- <head>
- <script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
- <script src="js/code.js" type="text/javascript"></script>
- <link rel="stylesheet" href="css/style.css" type="text/css" />
- <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
- </head>
- <body>
- <table>
- <tr>
- <td>
- <select id="friends_list">
- <option value="">Выберите друга</option>
- </select>
- </td>
- <td rowspan="3">
- <div id="user_info"></div>
- </td>
- </tr>
- <tr>
- <td>
- Сообщение:<br />
- <textarea id="message_tf">http://flapps.ru</textarea>
- </td>
- </tr>
- <tr>
- <td>
- <a href="#" id="send_btn">Отправить</a>
- </td>
- </tr>
- </table>
- <br /><br /><br />
- <a href="http://flapps.ru/" target="_blank">http://flapps.ru/</a>
- </body>
- </html>
style.css
- body {
- padding:0;
- margin:0;
- font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
- font-size: 11px;
- }
- select,textarea {
- padding:0;
- margin:0;
- }
- table {
- border-collapse:0;
- padding:0;
- margin:0;
- }
- table td {
- vertical-align:top;
- font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
- font-size: 11px;
- }
- #message_tf {
- width:100%;
- height:50px;
- resize:none;
- }
Приложение должно быть включено и видно всем.
В настройках приложения должен быть разрешен доступ к друзьям.
Исходник Чтобы увидеть ссылку - зарегистрируйтесь

