7

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

12

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.

+0

nice work! Ich werde das definitiv in Zukunft verwenden. – Andrew

+0

das ist ein tolles Juwel. ich danke dir sehr. – hankang

+0

Funktioniert wie ein Charme \ o / –

0

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

+0

Entschuldigung, ich kann Java nicht benutzen. Ich brauche eine Ruby-Lösung. – Andrew

+0

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

+0

nach Kevins Lösung ist das ausschließliche Bedürfnis nach jruby nicht vorhanden. Ich werde einen Downvote vermeiden. –

6

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