7

Próbuję zacząć korzystać z Google Data API dla Google Book Search w mojej aplikacji Ruby on Rails 3 i nie wiem nawet, jak zacząć. Jakie klejnoty potrzebuję? Co muszę zrobić, aby zrobić coś prostego, jak wyszukiwanie książek o tytule Foobar?Ruby on Rails 3 i Google Book Search

Odpowiedz

12

Nawiązując do kwestii amortyzacji: Właśnie opublikowano GoogleBooks, otoki Ruby, który umożliwia użytkownikom wyszukiwanie książek dokładnie w opisany sposób.

Został zaktualizowany tak, aby uzyskać dostęp do bieżącego interfejsu API Google, więc nie ma na niego wpływu niedawne wycofanie interfejsu API Google Book Search.

+0

Dobra robota! Z pewnością będę tego używał w przyszłości. – Andrew

+0

to świetny klejnot. Dziękuję bardzo. – hankang

+0

Działa jak zaklęcie \ o / –

0

jeśli chcesz używać api, myślę, że będziesz musiał użyć jruby i ich api Java. nie ma ruby ​​api do wyszukiwania książek, zgodnie z tym: http://code.google.com/apis/books/docs/gdata/code.html

do połączenia z google, spróbuj użyć gem gdata. http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails

+0

Niestety, nie mogę używać Javy. Potrzebuję rozwiązania Ruby. – Andrew

+0

Sądzę, że mógłbym użyć klejnotu gdata, ale nie wiem, jak go uruchomić. Również bardziej ogólne rozwiązanie byłoby w porządku. Potrzebuję tylko próbki kodu, żeby zacząć. – Andrew

+0

według rozwiązania Kevina nie ma wyłącznej potrzeby jubilera. Uniknę spadku z powodu twojego przedstawiciela. –

6

Jeśli szukasz używać Google Books do pobierania informacji o książkach, można użyć ich dane API: http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html

Making żądania do adresu URL jak http://books.google.com/books/feeds/volumes?q=isbn:9780974514055 powróci XML z informacjami książki. Możesz użyć klejnotu Nokogiri, aby przeanalizować wynik (http://nokogiri.org/).

Jedną z rzeczy, o których należy pamiętać, jest to, że aby uzyskać pełne opisy książek, należy uzyskać wpis zamiast tylko wyników dotyczących plików danych.

Oto krótki przykład jak można uzyskać informacje na książkę w 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