Получение URL-адресов миниатюр Youtube с помощью gdata? - PullRequest
2 голосов
/ 30 июня 2011

Я изучал информацию о том, как получить данные с Youtube. По сути, я хочу получить некоторую информацию о видео (названия, описания и URL-адреса миниатюр) из списка воспроизведения (например: http://gdata.youtube.com/feeds/api/playlists/6A40AB04892E2A1F).). Мне удалось получить заголовки с помощью этого фрагмента кода (который я позаимствовал у другой вопрос):

String featuredFeed = "http://gdata.youtube.com/feeds/api/playlists/6A40AB04892E2A1F";

url = new URL(featuredFeed);

URLConnection connection;
connection = url.openConnection();

HttpURLConnection httpConnection = (HttpURLConnection) connection;

int responseCode = httpConnection.getResponseCode();

if (responseCode == HttpURLConnection.HTTP_OK) {
    InputStream in = httpConnection.getInputStream();

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
    DocumentBuilder db = dbf.newDocumentBuilder();

    Document dom = db.parse(in);
    Element docEle = dom.getDocumentElement();

    NodeList nl = docEle.getElementsByTagName("entry");
    // NodeList nl2 = ;
    if (nl != null && nl.getLength() > 0) {
        for (int i = 0; i < nl.getLength(); i++) {

            Element entry = (Element) nl.item(i);
            Element title = (Element) entry.getElementsByTagName(
                    "title").item(0);

            String titleStr = title.getFirstChild().getNodeValue();

            Log.i("TEST LOG", "TITLES: " + titleStr);

        }
    }
}

Однако я не могу понять, как можно получить миниатюрные URL-адреса. Я видел тег, но я не знаю, как вызвать его из нодлиста. Может кто-нибудь сказать, как я могу получить URL-адрес миниатюрного видео и описания видео, используя этот метод?

Заранее спасибо.

1 Ответ

0 голосов
/ 29 мая 2012
Log.i("TEST LOG", "TITLES: " + titleStr);
(...)
                    Element groupNode = (Element)entry.getElementsByTagNameNS("*", "group").item(0);

                    NodeList tNL = groupNode.getElementsByTagNameNS("*", "thumbnail");

                    for (int k = 0; k < tNL.getLength(); k++) {
                        Element tE = (Element)tNL.item(k);

                        if (tE != null) {
                            System.out.println("Thumbnail url = " + tE.getAttribute("url"));
                        }
                    }

                    NodeList dNL = groupNode.getElementsByTagNameNS("*", "description");

                    for (int k = 0; k < dNL.getLength(); k++) {
                        Element tE = (Element)dNL.item(k);

                        if (tE != null) {
                            System.out.println("Description = " + tE.getFirstChild().getNodeValue());
                        }
                    }

                } // end for

(...)
...