Отправка сообщения на стену друга (wall.post)

Готовые уроки IFrame + ВКонтакте API
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Отправка сообщения на стену друга (wall.post)

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

Отправка сообщения на стену друга (wall.post)
JavaScript

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

Изображение

code.js

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

/*  https://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">https://flapps.ru</textarea>        </td>    </tr>    <tr>        <td>            <a href="#" id="send_btn">Отправить</a>        </td>    </tr></table>  <br /><br /><br /><a href="https://flapps.ru/" target="_blank">https://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;}
Приложение должно быть включено и видно всем.
В настройках приложения должен быть разрешен доступ к друзьям.

Исходник https://flapps.ru/example/friends_get_wall_post.rar
Аватара пользователя
Cypporat
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03

Re: Отправка сообщения на стену друга (wall.post)

Сообщение Cypporat »

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

Re: Отправка сообщения на стену друга (wall.post)

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

Cypporat писал(а):чтобы отправляло и картинку на стену
http://vkontakte.ru/developers.php?o=-1&p=wall.post
Вместо message передавать параметр attachment - например, photo100172_166443618
Аватара пользователя
Cypporat
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03

Re: Отправка сообщения на стену друга (wall.post)

Сообщение Cypporat »

Если не сложно подкорректируйте плизз чтобы можно было вставить свое фото
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отправка сообщения на стену друга (wall.post)

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

Cypporat
Тебе сложно заменить

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

message:message_to
на

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

attachment:'photo100172_166443618'
:?: :?: :?:
Аватара пользователя
Cypporat
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03

Re: Отправка сообщения на стену друга (wall.post)

Сообщение Cypporat »

все получилось
qwerty123
Сообщения: 43
Зарегистрирован: 19 июн 2011, 16:21

Re: Отправка сообщения на стену друга (wall.post)

Сообщение qwerty123 »

У меня даже список друзей неработает. почему?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Отправка сообщения на стену друга (wall.post)

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

qwerty123
Пиши ссылку на приложение, которое у тебя не работает.
bings
Сообщения: 1
Зарегистрирован: 20 июн 2011, 21:59

Re: Отправка сообщения на стену друга (wall.post)

Сообщение bings »

а можно ли методом wall.post передавать в поле attachment ссылку? вот как в wall.get:

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

<attachment><type>link</type><link><url>http://www.youtube.com/watch?v=8xe1DlP2bpc</url><title>АнгелиЯ - В контакте мы - ПРЕМЬЕРА КЛИПА!!!!</title><description>АнгелиЯ - В контакте мы \ ДОЛГОЖДАННАЯ ПРЕМЬЕРА КЛИПА\ http://www.angeliya.com.ua</description><image_src>http://cs4638.vkontakte.ru/u93388/-2/x_d5a02d15.jpg</image_src></link></attachment>
очень уж хочется
qwerty123
Сообщения: 43
Зарегистрирован: 19 июн 2011, 16:21

Re: Отправка сообщения на стену друга (wall.post)

Сообщение qwerty123 »

Александр писал(а):qwerty123
Пиши ссылку на приложение, которое у тебя не работает.
вот ссылка http://vkontakte.ru/app2287603_66532667?ref=9
Ответить