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

Готовые уроки IFrame + ВКонтакте API

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

Сообщение Александр » 07 июн 2011, 21:05

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

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

Изображение

code.js
  1. /*
  2.  
  3.  https://flapps.ru/forum - форум о создании приложений
  4.  
  5. */
  6.  
  7. $(document).ready(function(){
  8. var friends_data; // отсортированный список друзей
  9.  
  10.     VK.init(function() {
  11.     // выполняем запрос получения списка друзей
  12.     VK.api("friends.get", {fields:"first_name,photo"}, function(data) {
  13.         // узнаем количество друзей
  14.         var fr = data.response.length;
  15.         // сортируем друзей по имени (функция sFirstName описана ниже)
  16.         friends_data = data.response.sort(sFirstName);
  17.        
  18.         // в value элемента будем записывать номер пользователя в массиве friends_data
  19.         for(var i=0;i<fr;i++){
  20.             $('#friends_list').append('<option value="'+ i +'">'+ friends_data[i].first_name + ' ' + friends_data[i].last_name +'</option>');            
  21.         }
  22.         $("#friends_list").change(function () {
  23.             // узнаем какой элемент выбран в select
  24.             selectVal = $('#friends_list option:selected').val();
  25.             if (selectVal!='') { // если выбран друг
  26.                 // вытаскиваем из массива фотографию выбранного пользователя по номеру в массиве
  27.                 $('#user_info').html('<img src="'+ friends_data[selectVal].photo +'"/>');
  28.             } else { // если выбрано "выберите друга"
  29.                 // очищаем блок с аватаркой
  30.                 $('#user_info').html('');
  31.             }
  32.         })
  33.     });
  34.    
  35.     });
  36.  
  37. $('#send_btn').click(function() {
  38.     if ($('#friends_list option:selected').val()!='') { // если выбран пользователь
  39.         if ($('#message_tf').val()!='') { // если введено сообщение
  40.             uid_to = friends_data[$('#friends_list option:selected').val()].uid; // id выбранного пользователя
  41.             message_to = $('#message_tf').val();   
  42.             // отправляем запись на стену
  43.             VK.api('wall.post',{owner_id:uid_to, message:message_to},function(data) {
  44.                 if (data.response) { // если получен ответ
  45.                     alert('Сообщение отправлено! ID сообщения: ' + data.response.post_id);
  46.                 } else { // ошибка при отправке сообщения
  47.                     alert('Ошибка! ' + data.error.error_code + ' ' + data.error.error_msg);
  48.                 }
  49.             });
  50.         } else {
  51.             alert('Введите сообщение!');
  52.         }
  53.     } else {
  54.         alert('Выберите пользователя!');
  55.     }
  56.  
  57.     return false;
  58. })
  59.    
  60. });
  61.  
  62.  
  63.    
  64.    
  65. // функции сортировки
  66. function sFirstName(a,b) {
  67.     if (a.first_name > b.first_name)
  68.         return 1;
  69.     else if  (a.first_name < b.first_name)
  70.         return -1;
  71.     else
  72.         return 0;
  73. }
  74.  
  75. /* flapps.ru */


index.html
  1. <html>
  2. <head>
  3. <script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
  4. <script src="js/code.js" type="text/javascript"></script>
  5. <link rel="stylesheet" href="css/style.css" type="text/css" />
  6. <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
  7.  
  8. </head>
  9. <body>
  10.  
  11. <table>
  12.     <tr>
  13.         <td>
  14.        
  15.             <select id="friends_list">
  16.                 <option value="">Выберите друга</option>
  17.             </select>
  18.        
  19.         </td>
  20.         <td rowspan="3">
  21.        
  22.             <div id="user_info"></div>
  23.            
  24.         </td>
  25.     </tr>
  26.     <tr>
  27.         <td>
  28.             Сообщение:<br />
  29.             <textarea id="message_tf">https://flapps.ru</textarea>
  30.         </td>
  31.     </tr>
  32.     <tr>
  33.         <td>
  34.             <a href="#" id="send_btn">Отправить</a>
  35.         </td>
  36.     </tr>
  37. </table>
  38.  
  39.  
  40. <br /><br /><br />
  41. <a href="https://flapps.ru/" target="_blank">https://flapps.ru/</a>
  42. </body>
  43. </html>


style.css
  1. body {
  2.     padding:0;
  3.     margin:0;
  4.     font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
  5.     font-size: 11px;
  6. }
  7. select,textarea {
  8.     padding:0;
  9.     margin:0;
  10. }
  11. table {
  12.     border-collapse:0;
  13.     padding:0;
  14.     margin:0;
  15. }
  16. table td {
  17.     vertical-align:top;
  18.     font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
  19.     font-size: 11px;
  20. }
  21.  
  22. #message_tf {
  23.     width:100%;
  24.     height:50px;
  25.     resize:none;
  26. }


Приложение должно быть включено и видно всем.
В настройках приложения должен быть разрешен доступ к друзьям.

Исходник Чтобы увидеть ссылку - зарегистрируйтесь

За это сообщение автора Александр поблагодарили - 6:
a-kush-er, Cypporat, Gas, tiqurillo, ukhov, Влад
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



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

Сообщение Cypporat » 14 июн 2011, 13:43

класс помогло а можно ли так же сделать только чтобы отправляло и картинку на стену
Аватара пользователя
Cypporat

 
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

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

Сообщение Александр » 15 июн 2011, 20:41

Cypporat писал(а):чтобы отправляло и картинку на стену

http://vkontakte.ru/developers.php?o=-1&p=wall.post
Вместо message передавать параметр attachment - например, photo100172_166443618
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Cypporat » 16 июн 2011, 20:40

Если не сложно подкорректируйте плизз чтобы можно было вставить свое фото
Аватара пользователя
Cypporat

 
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

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

Сообщение Александр » 16 июн 2011, 21:06

Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Cypporat » 16 июн 2011, 21:07

все получилось
Аватара пользователя
Cypporat

 
Сообщения: 48
Зарегистрирован: 30 май 2011, 11:03
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

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

Сообщение qwerty123 » 19 июн 2011, 16:23

У меня даже список друзей неработает. почему?
qwerty123

 
Сообщения: 43
Зарегистрирован: 19 июн 2011, 16:21
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.

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

Сообщение Александр » 19 июн 2011, 17:11

qwerty123
Пиши ссылку на приложение, которое у тебя не работает.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение bings » 20 июн 2011, 22:03

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

  1. <attachment>
  2. <type>link</type>
  3. <link>
  4. <url>http://www.youtube.com/watch?v=8xe1DlP2bpc</url>
  5. <title>АнгелиЯ - В контакте мы - ПРЕМЬЕРА КЛИПА!!!!</title>
  6. <description>АнгелиЯ - В контакте мы \ ДОЛГОЖДАННАЯ ПРЕМЬЕРА КЛИПА\ http://www.angeliya.com.ua</description>
  7. <image_src>http://cs4638.vkontakte.ru/u93388/-2/x_d5a02d15.jpg</image_src>
  8. </link>
  9. </attachment>


очень уж хочется
bings

 
Сообщения: 1
Зарегистрирован: 20 июн 2011, 21:59
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение qwerty123 » 21 июн 2011, 13:13

Александр писал(а):qwerty123
Пиши ссылку на приложение, которое у тебя не работает.

вот ссылка http://vkontakte.ru/app2287603_66532667?ref=9
qwerty123

 
Сообщения: 43
Зарегистрирован: 19 июн 2011, 16:21
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.

След.

Вернуться в Уроки IFrame ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron