Picasa搜索API有哪些好的替代方案?

时间:2013-04-24 09:37:19

标签: java api facebook-graph-api flickr picasa

我正在编写一个基于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来做同样的事情,我将不胜感激。 感谢。

2 个答案:

答案 0 :(得分:1)

对于Flickr:

您可以使用Flickr4Java API。

但是,因为您只需要搜索,就可以使用REST API:

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

您需要的方法是flicker.photos.search记录here.

要使用Flickr API,您需要拥有API密钥,因此您应该apply for one.

答案 1 :(得分:0)

如果您想使用多个API而不了解每个API的具体内容,那么您应该查看Temboo

Temboo规范化API访问,以便您使用相同的语法与多个image APIs(以及更多)进行对话。 Temboo还可以帮助您将API响应转换为您选择的格式(在这种情况下,您可以在适当的情况下将JSON转换为XML)。

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