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

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

13.05.2014, 22:50. Показов 1783. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru