-2

我正在编写一个基于 Web 的示例应用程序,该应用程序需要以 XML 文档的形式提供基于图像的结果。目前我正在使用 Picasa 搜索 API。我在请求 API 调用 URL 时收到 XML 响应。这是我当前的实现:

private void fetchImageURLs() {
        try {
            String urlString = "https://picasaweb.google.com/data/feed/api/all?";
            urlString += "q="+searchTerm;
            urlString += "&max-results="+numImages;
            urlString += "&start-index="+offset;

            // Get XML from Picasa API
            URL url = new URL(urlString);
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(url.openStream());
            doc.getDocumentElement().normalize();

            // Parse XML to obtain image URLs
            NodeList nList = doc.getElementsByTagName("content");
            for (int i = 0; i < nList.getLength(); i++) {
                Node nNode = nList.item(i);
                Element eElement = (Element) nNode;
                String imageUrlString = eElement.getAttribute("src");

                // Push the image URLs on the queue to be used by fetchImagesAndSave()
                imageURLs.push(new URL(imageUrlString));
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

如果您能帮助我弄清楚如何使用 Twitter/Facebook/PhotoBucket 或 Flickr API 来做同样的事情,我将不胜感激。谢谢。

4

2 回答 2

1

对于 Flickr:

您可以使用Flickr4Java API。

但由于您需要的只是搜索,因此您可以使用 REST API:

http://api.flickr.com/services/rest/?method=flickr.test.echo&name=value

您需要的方法flicker.photos.search记录在这里。

要使用 Flickr API,您需要有一个 API 密钥,所以您应该申请一个。

于 2013-04-24T09:55:31.003 回答
0

如果您想在不了解每个 API 的情况下使用多个 API,那么您应该查看Temboo

Temboo 规范了 API 访问,因此您可以使用相同的语法与多个图像 API(以及更多)通信。Temboo 还可以帮助您将 API 响应转换为您选择的格式(在这种情况下,您可以在适当的情况下从 JSON 转换为 XML)。

(全面披露:我在 Temboo 工作)

于 2013-04-24T13:51:46.243 回答