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