Ich versuche, in meiner Ruby on Rails 3 Anwendung das Google Data API für die Google Buchsuche zu verwenden, und ich verstehe nicht einmal, wie ich anfangen soll. Welche Edelsteine brauche ich? Was muss ich tun, um etwas Einfaches wie die Suche nach Büchern mit dem Titel Foobar zu tun?Ruby on Rails 3 und Google Buchsuche
Antwort
Im Anschluss an die deprecation Frage: Ich habe gerade GoogleBooks veröffentlicht, ein Ruby-Wrapper, der Benutzer für Bücher abfragen können genau in der beschriebenen Weise.
Es wurde aktualisiert, um in die aktuelle Google API aufgenommen zu werden. Es ist daher nicht von der jüngsten Ablehnung der Google Buchsuche-API betroffen.
Wenn Sie die API verwenden möchten, denke ich, dass Sie jruby und ihre Java-API verwenden müssen. es existiert kein ruby api für die Buchsuche. http://code.google.com/apis/books/docs/gdata/code.html
für die Verbindung mit Google, versuchen Sie es mit dem Gdata-Juwel. http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails
Entschuldigung, ich kann Java nicht benutzen. Ich brauche eine Ruby-Lösung. – Andrew
Ich denke auch, ich könnte den Edelstein gdata verwenden, aber ich kann nicht herausfinden, wie ich ihn zum Laufen bringen kann. Auch eine allgemeinere Lösung wäre in Ordnung. Ich brauche nur ein Codebeispiel, um mich zu starten. – Andrew
nach Kevins Lösung ist das ausschließliche Bedürfnis nach jruby nicht vorhanden. Ich werde einen Downvote vermeiden. –
Wenn Sie suchen Google Bücher zu verwenden, um Informationen über Bücher abzurufen, können Sie ihre Daten API verwenden: http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html
Anfragen an eine URL zu machen wie http://books.google.com/books/feeds/volumes?q=isbn:9780974514055 XML mit dem Buch Informationen angezeigt werden können. Sie könnten das Nokogiri-Juwel verwenden, um das Ergebnis zu analysieren (http://nokogiri.org/).
Eine Sache zu beachten ist, dass, um die vollständigen Beschreibungen für Bücher zu erhalten, müssen Sie den Eintrag statt nur die Feed-Ergebnisse erhalten.
Hier ist ein kurzes Beispiel, wie man ein Buch Informationen von Google bekommen konnte:
require 'open-uri'
require 'nokogiri'
class Book
attr_accessor :title, :description
def self.from_google(title)
book = self.new
entry = Nokogiri::XML(open "http://books.google.com/books/feeds/volumes?q=#{title}").css("entry id").first
xml = Nokogiri::XML(open entry.text) if entry
return book unless xml
book.title = xml.css("entry dc|title").first.text unless xml.css("entry dc|title").empty?
book.description = xml.css("entry dc|description").first.text unless xml.css("entry dc|description").empty?
book
end
end
b = Book.from_google("Ruby")
p b
nice work! Ich werde das definitiv in Zukunft verwenden. – Andrew
das ist ein tolles Juwel. ich danke dir sehr. – hankang
Funktioniert wie ein Charme \ o / –