Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Сети
Войти
Регистрация
Восстановить пароль
 
Nescafe32
5 / 5 / 2
Регистрация: 07.05.2014
Сообщений: 101
1

Загрузка видеозаписей с Вконтакте

24.05.2016, 18:00. Просмотров 236. Ответов 0
Метки нет (Все метки)

Добрый день, форумчане. Решил поиграться с VK API, для начала загрузка музыки / видео. Музыку скачать вышло, видеозаписи нет. Кто может подсказать (желательно кодом ) как должен выглядеть запрос? Вылетает исключение о неверном URL. Вк разработчикам читал, но не вышло реализовать. Параллельно пишу курсовую, пару дней уже не спал, но интересно. Ниже код, с помощью которого скачиваю музыку. Заранее благодарю!

Java
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public static void downnload(final String TOKEN, final String ID, int number, int offset, 
            String path, boolean[] mult, String methodType) 
                    throws URISyntaxException, IOException, ParseException, KeyManagementException, NoSuchAlgorithmException {
URIBuilder builder = new URIBuilder();
        
        if (methodType.equals("/method/audio.get")) {
        builder.setScheme("https").setHost("api.vk.com").setPath(methodType)
                .setParameter("oid", ID)
                .setParameter("need_user", "0")
                .setParameter("count", "" + number) 
                .setParameter("offset", "" + offset)            
                .setParameter("access_token", TOKEN);
        }
        
        URI uri = builder.build();
        HttpGet get = new HttpGet(uri);
 
        HttpClient client = new DefaultHttpClient();
        
        HttpResponse resp = client.execute(get);
        HttpEntity entity = resp.getEntity();
        
        if (entity != null) {
            InputStream instream = null;
            try {
                instream = entity.getContent();
                String responseAsString = IOUtils.toString(instream);
                parseAndDownload(responseAsString, mult, methodType);
            } finally {
                if (instream != null) instream.close();
            }
        }
    }
 
    private static void parseAndDownload(String resp, boolean[] mult,  String methodType) throws IOException, ParseException {
        
        JSONParser parser = new JSONParser();
        JSONObject response = (JSONObject) parser.parse(resp);
        JSONArray list = (JSONArray) response.get("response");
        
        
        if (mult == null) {
            mult = new boolean[list.size()];
            for(int i = 0; i < mult.length; i++){
                mult[i] = true;
            }
        }
        
        int count = getCountOfMultimedia (mult);
        int counter = 1;
        for (int i = 0; i < list.size(); i++) {
            
            if(!mult[i]) continue;
            
            if (methodType.equals("/method/audio.get")) { 
                JSONObject media = (JSONObject) list.get(i);
                String pathname = pathToFolder + media.get("artist") +
                        " - " + media.get("title");
                pathname = new String (pathname.getBytes("windows-1251"), "UTF-8");
                String temp = fixWndowsFileName(media.get("artist") +
                        " - " + media.get("title"));
                lblProgressOfChecking.setText(new String(temp.getBytes("windows-1251"), "UTF-8"));
                lblNewLabel.setText("" + counter + " / " + count);
                
                try {
                   File dest = new File (pathname + ".mp3");
                   if (!dest.exists()) {
                       FileUtils.copyURLToFile(new URL((String) media.get("url")), dest);
                   }
                } catch (FileNotFoundException e) {}
            }
        }
    }
P.S. Список видеозаписей удалось получить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 18:00
Ответы с готовыми решениями:

Java и Вконтакте
Здравствуйте, я новенькая в этой сфере. Учу язык Java. Не могу разобраться, что...

Вконтакте API и авторизация
Столкнулся с задачей: написать небольшое приложение для ВК, начал вникать и...

Socket is closed вконтакте
Здравствуйте, никак не могу понять в чем проблема Exception in thread &quot;main&quot;...

Java & Вконтакте
Здравствуйте, можно ли написать простое консольное приложение, которое будет...

Не работает description в кнопке поделиться во вконтакте
Здравствуйте, не нашел в документации, как шарить описание...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2016, 18:00

Загрузка музыки с ВКонтакте
Привет, форумчане :) Не так давно решил вбить в Google запрос, о загрузке...

Загрузка аватарки вконтакте xNet
Всем привет, можете подсказать как на c# загрузить аватарку в вк(желательно...

Загрузка аватарок как в вконтакте
Вот нашел скрипт который выделяет область на картинке. а как потом эту...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru