Sto cercando di iniziare a utilizzare l'API dati di Google per Google Ricerca Libri nell'applicazione Ruby on Rails 3 e non capisco nemmeno come iniziare. Quali gemme ho bisogno? Cosa devo fare per fare qualcosa di semplice come cercare libri con un titolo di Foobar?Ruby on Rails 3 e Google Book Search
risposta
In seguito sulla questione deprecazione: Ho appena pubblicato GoogleBooks, un involucro di Ruby che permette agli utenti di eseguire query per i libri precisamente nel modo descritto.
È stato aggiornato per connettersi all'API di Google di oggi, quindi non è interessato dalla recente deprecazione dell'API di Google Ricerca Libri.
se si desidera utilizzare l'api, penso che sarà necessario utilizzare jruby e la loro java api. no ruby api esiste per la ricerca di libri, in base a questo: http://code.google.com/apis/books/docs/gdata/code.html
per connettersi con google, provare a utilizzare la gem di gdata. http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails
Spiacente, non posso usare Java. Ho bisogno di una soluzione Ruby. – Andrew
Inoltre, penso che potrei usare la gemma gdata, ma non riesco a capire come farlo funzionare. Inoltre, una soluzione più generica andrebbe bene. Ho solo bisogno di un esempio di codice per iniziare. – Andrew
secondo la soluzione di Kevin l'esigenza esclusiva di jruby non è presente. Eviterò un downvote dato il tuo rappresentante. –
Se stai cercando di utilizzare Google Libri per recuperare le informazioni sui libri, è possibile utilizzare la loro API dati: http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html
Fare richieste a un URL del tipo http://books.google.com/books/feeds/volumes?q=isbn:9780974514055 tornerà XML con le informazioni del libro. Potresti usare la gemma Nokogiri per analizzare il risultato (http://nokogiri.org/).
Una cosa di cui essere a conoscenza è che, per ottenere le descrizioni complete per i libri, è necessario ottenere la voce anziché solo i risultati del feed.
Ecco un breve esempio di come si potrebbe ottenere le informazioni di un libro da Google:
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
bel lavoro! Userò sicuramente questo in futuro. – Andrew
questa è una gemma formidabile. grazie mille. – hankang
Funziona come un fascino \ o / –