द्वारा Google पुस्तकें एपीआई खोज कर रहा है मैं Google पुस्तकें API का उपयोग करके आईएसबीएन द्वारा पुस्तक की खोज कैसे करें, यह जानने का प्रयास कर रहा हूं। मुझे एक प्रोग्राम लिखना है जो एक आईएसबीएन की खोज करता है, फिर शीर्षक, लेखक और संस्करण को प्रिंट करता है। मैंने List volumesList = books.volumes.list("");
का उपयोग करने की कोशिश की लेकिन उसने मुझे आईएसबीएन द्वारा खोज करने की अनुमति नहीं दी और मुझे आवश्यक जानकारी प्राप्त करने का कोई तरीका नहीं मिला (जब एक आईएसबीएन रखा गया था तो इसका कोई परिणाम नहीं था)। मेरे पास अभी क्या है:आईएसबीएन
JsonFactory jsonFactory = new JacksonFactory();
final Books books = new Books(new NetHttpTransport(), jsonFactory);
List volumesList = books.volumes.list("9780262140874");
volumesList.setMaxResults((long) 2);
volumesList.setFilter("ebooks");
try
{
Volumes volumes = volumesList.execute();
for (Volume volume : volumes.getItems())
{
VolumeVolumeInfo volumeInfomation = volume.getVolumeInfo();
System.out.println("Title: " + volumeInfomation.getTitle());
System.out.println("Id: " + volume.getId());
System.out.println("Authors: " + volumeInfomation.getAuthors());
System.out.println("date published: " + volumeInfomation.getPublishedDate());
System.out.println();
}
} catch (Exception ex) {
// TODO Auto-generated catch block
System.out.println("didnt wrork "+ex.toString());
}
अगर किसी को यह और अधिक कुशल बनाने के बारे में कोई सुझाव है तो मुझे बताएं। नए कोड:
String titleBook="";
////////////////////////////////////////////////
try
{
BooksService booksService = new BooksService("UAH");
String isbn = "9780262140874";
URL url = new URL("http://www.google.com/books/feeds/volumes/?q=ISBN%3C" + isbn + "%3E");
VolumeQuery volumeQuery = new VolumeQuery(url);
VolumeFeed volumeFeed = booksService.query(volumeQuery, VolumeFeed.class);
VolumeEntry bookInfo=volumeFeed.getEntries().get(0);
System.out.println("Title: " + bookInfo.getTitles().get(0));
System.out.println("Id: " + bookInfo.getId());
System.out.println("Authors: " + bookInfo.getAuthors());
System.out.println("Version: " + bookInfo.getVersionId());
System.out.println("Description: "+bookInfo.getDescriptions()+"\n");
titleBook= bookInfo.getTitles().get(0).toString();
titleBook=(String) titleBook.subSequence(titleBook.indexOf("="), titleBook.length()-1);
}catch(Exception ex){System.out.println(ex.getMessage());}
/////////////////////////////////////////////////
JsonFactory jsonFactory = new JacksonFactory();
final Books books = new Books(new NetHttpTransport(), jsonFactory);
List volumesList = books.volumes.list(titleBook);
try
{
Volumes volumes = volumesList.execute();
Volume bookInfomation= volumes.getItems().get(0);
VolumeVolumeInfo volumeInfomation = bookInfomation.getVolumeInfo();
System.out.println("Title: " + volumeInfomation.getTitle());
System.out.println("Id: " + bookInfomation.getId());
System.out.println("Authors: " + volumeInfomation.getAuthors());
System.out.println("date published: " + volumeInfomation.getPublishedDate());
System.out.println();
} catch (Exception ex) {
System.out.println("didnt wrork "+ex.toString());
}
से आ रहा है, जिस तरह से आपने सुझाव दिया है HTML के लिए जावा नहीं है। जिस तरह से BooksSample करता है वही है जैसा कि मैंने ऊपर किया है और आईएसबीएन द्वारा खोज की अनुमति नहीं देता है। सूची वॉल्यूमलिस्ट = books.volumes.list (क्वेरी) वह कोड है जिसका उपयोग वे क्वेरी भी करते हैं एक स्ट्रिंग है। –
क्वेरी HTTP GET अनुरोध का उपयोग करती है और JSON प्रारूप में प्रतिक्रिया प्राप्त करती है, जो भाषा-स्वतंत्र और आमतौर पर जावा में उपयोग की जाती है। इसमें कोई HTML शामिल नहीं है। – Chris
कृपया ध्यान दें: https://www.googleapis.com/books/v1/volumes?q=isbn0735619670 वापसी "कुल आय": 78 कोलन fwd! विश्वास नहीं कर सकता है कि कहीं भी दस्तावेज नहीं किया गया है (कम से कम मुझे यह नहीं मिला) https://www.googleapis.com/books/v1/volumes?q=isbn <0735619670> "कुल आइटम्स" देता है: 511 लेकिन https: //www.googleapis.com/books/v1/volumes?q=isbn:0735619670 एक सटीक खोज करता है और "कुल इटम्स" देता है: 1. कॉलन एफडब्ल्यूडी! विश्वास नहीं कर सकता है कि कहीं कहीं दस्तावेज नहीं किया गया है (कम से कम मुझे यह नहीं मिला) – masi