Форум программистов, компьютерный форум, киберфорум
C#: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35

Связанные запросы для самодельного VK API

13.05.2014, 22:50. Показов 1831. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, форумчане! Нуждаюсь в вашей помощи! Выручайте!

Начал делать VK API. Необходимо реализовать два любых связанных запроса (результат выполнения первого запроса полностью или частично используется во втором запросе).

На данный момент реализовал авторизацию на сервисе и сделал один запрос (вывести список аудио-записей).

Вопрос заключается в следующем, как сделать второй запрос связанным к первому и что это может быть за запрос?! Можете предложить свои варианты и описать реализацию, если это возможно?!

Буду рад любой помощи! Заранее благодарю! =)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2014, 22:50
Ответы с готовыми решениями:

Запросы, связанные с датой
Как сделать эти запросы? Кто-нибудь помогите, пожалуйста! День разбираюсь.. Туплю ===========

Ошибки связанные с api vk
Код: def testpost(): session = vk.AuthSession(app_id='5418092', user_login='mylogin@vk.com', user_password='pass') api =...

Указанное выражение LINQ содержит ссылки на запросы, связанные с разными контекстами
Ps pss = new Ps(); PsLDescription pldd = new PsLDescription(); // Так работает (когда я на прябую обращаюсь...

10
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 15
14.05.2014, 00:21
Цитата Сообщение от BigApple Посмотреть сообщение
что это может быть за запрос?!
Это я у вас хочу спросить) Какая в целом-то стоит задача? Какие цели стоят? Сформулируйте вопрос более конкретно, может помогу. По рабочей надобности у меня есть самописная, постепенно расширяемая VKAPI для C#)
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
14.05.2014, 09:50  [ТС]
napukmaxep, Спасибо, что откликнулись! =) Был бы рад изучить вашу программу! =)

Моя задача состоит в следующем: необходимо реализовать два любых связанных запроса. То есть результат выполнения первого запроса полностью или частично используется во втором запросе.

Что подразумевается под понятием "связанный запрос"?! На данный момент, как я упоминал ранее, реализовал лишь один запрос (вывел списки аудио-записей) и второй запрос может быть любым! Главное, чтобы он был связан с первым! То есть результат выполнения первого запроса полностью или частично используется во втором запросе.

Возможно вы уже сталкивались с подобным! Помогите пожалуйста с данной задачей! =)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
14.05.2014, 13:18
Может проще посмотреть как реализовано в готовой библиотеке?
http://vk.codeplex.com
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 15
14.05.2014, 14:21
Цитата Сообщение от BigApple Посмотреть сообщение
второй запрос может быть любым! Главное, чтобы он был связан с первым!
Чтож, в таком случае, получите список пользователей какого-либо сообщества(1й запрос), затем для каждого полученного id получите список аудиозаписей(2й запрос)... Получите список музыки, которую слушает паблик...
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
14.05.2014, 15:24  [ТС]
napukmaxep, прощу прощение, что еще раз беспокою вас! С первым запросом я разобрался (получить список пользователей какого-либо сообщества). Второй запрос вывести аудио-записей этих самых пользователей , которые состоят в сообществе?! Вы это имели введу?! =)

Добавлено через 3 минуты
Casper-SC, Спасибо большое за ссылку! К сожалению, по мне очень плохо описана многое и поэтому не совсем понял, что мне с ней делать! =(
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 15
14.05.2014, 16:53
Цитата Сообщение от BigApple Посмотреть сообщение
Второй запрос вывести аудио-записей этих самых пользователей , которые состоят в сообществе?! Вы это имели введу?!
Да. Только для всех сразу не выйдет. Для каждого по порядку.
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
15.05.2014, 00:24  [ТС]
napukmaxep, Casper-SC, можете пожалуйста помочь еще раз! На этот раз с запросом wall.post?! Ознакомился с официальной документацией, но толком ничего не смог реализовать с ним! Сразу видно, что вы знающие люди! Помогите пожалуйста!
В конце концов решил сделать следующее: 1) 1 запрос - вывод списка аудио-записей 2) при клике кнопки buttonPost 2 запрос - опубликовать результаты первого запроса, то есть опубликовать список аудио-записей на стене.

Помогите пожалуйста доработать программу! Точнее 2-ой запрос wall.post. А вот и сам код, который я пока что написал:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void backgroundWorkerMain_DoWork(object sender, DoWorkEventArgs e)
        {
            while (!MainSettings.Default.authorization) { Thread.Sleep(500); }
 
            //Web-Запрос к сервису VK.API 
            WebRequest request =
            WebRequest.Create("https://api.vk.com/method/audio.get?owner_id=" + MainSettings.Default.id + "&need_user&access_token=" + MainSettings.Default.token);
            WebResponse response = request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            reader.Close();
            response.Close();
            responseFromServer = HttpUtility.HtmlDecode(responseFromServer);
 
            //Парсим JSON ответ в класс
            JToken token = JToken.Parse(responseFromServer);
            audioList = token["response"].Children().Skip(1).Select(c => c.ToObject<Audio>()).ToList();
 
            this.Invoke((MethodInvoker)delegate
            {
                //Создаем цикл, который работает, пока i меньше количество аудиозаписей
                for (int i = 0; i < audioList.Count(); i++)
                {
                    //Добавляем строку в listBox
                    listBoxMain.Items.Add(audioList[i].artist + audioList[i].title);
                }
            });
        }
 
        private void buttonPost_Click(object sender, EventArgs e)
        {
            //При клике должен быть запрос wall.post. Опубликовать список аудиозаписей на стене.
        }


Заранее благодарю Вас! =)
0
1 / 1 / 0
Регистрация: 21.02.2014
Сообщений: 14
15.05.2014, 17:45
BigApple, В интернете особо не густо информации, но вот что я нашла для вас: http://habrahabr.ru/post/125409/ надеюсь вам поможет!

Добавлено через 1 минуту
napukmaxep, Встречала подобную сложность когда-то, однако так и не смогла ее решить... Мне интерестно как бы вы реализовали бы эту задачу?!
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
15.05.2014, 18:01  [ТС]
mir-a, Спасибо за статья и что откликнулись! Однако я уже с ней ознакомился до этого! До сих пор ломаю голову с вторым запросом! =(
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 15
23.05.2014, 00:27
mir-a, BigApple, честно говоря, до сих пор не возникало необходимости постить на стенки через апи, но вот сейчас быстренько накидал себе урезанную версию(исключительно потому что лень переписывать все параметры) этой функции. Сразу скажу, что когда я начал работу с вкапи, json'а еще не было, был xml, который в общем-то остается и до сих пор, посему моё апи ориентированно на xml.

В общем, у меня как-то так(всё работает)(часть класса):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public XmlDocument WallPost(int Owner_id, string Message)
        {
            if (string.IsNullOrWhiteSpace(Message))
            {
                if (output != null) output.Invoke(Output_d, new object[] { "Отсутствует сообщение" });
                else
                    MessageBox.Show("Отсутствует сообщение");
                return null;
            }
            NameValueCollection qs = new NameValueCollection();
            qs["owner_id"] = Owner_id.ToString();
            qs["message"] = Message;
 
            XmlDocument result = ExecuteCommand("wall.post", qs);
            return result;
        }
 
/////////////////////...//////////////////////
 
 private XmlDocument ExecuteCommand(string name, NameValueCollection qs, bool isOpen = false)
        {
                ///////////////Всякие проверки-замоочки////////////
                XmlDocument result = new XmlDocument();
                result.Load(String.Format("https://api.vk.com/method/{0}.xml?access_token={1}&{2}", name, accessToken, String.Join("&", from item in qs.AllKeys select item + "=" + qs[item])));
                //////////////Еще куча всяких проверок///////////
                return result;
         }
Если надо, могу завтра(в пятницу) решить вашу задачу своими методами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2014, 00:27
Помогаю со студенческими работами здесь

MAC адрес для самодельного хоста
Специалисты, подскажите пожалуйста как правильно выбрать MAC адрес для сетевого исполнительного устройства сделанного своими руками, чтоб...

Реализовать итератор для самодельного списка
Нужно узнать что из себя представляет итератор. Посмотреть его реализацию. (Желательно попроще, основное) Кто то может объяснить что он...

Vk API - Необходимо обработать все ошибки связанные с сетью
Вообщем есть ТЗ на работу с API вконтакта. Я собственно все сделал, за исключением одного пункта. Банально не понимаю что от меня хотят. ...

Выбор web камеры для самодельного спектрометра
Здравствуйте, Пробовал собрать самодельный спектрометр на дифракционной решетке из DVD диска как тут . Обе имеющиеся у меня web...

Задающий генератор на Arduino для самодельного преобразователя 12/220В
Здравствуйте! Нуждаюсь в автономном питании на даче. имеется 2 тактный трансформатор от УПСА. Сделал генератор импульсов на ардуине вот код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru