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
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.
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
Niestety, nie mogę używać Javy. Potrzebuję rozwiązania Ruby. – Andrew
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
według rozwiązania Kevina nie ma wyłącznej potrzeby jubilera. Uniknę spadku z powodu twojego przedstawiciela. –
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
Dobra robota! Z pewnością będę tego używał w przyszłości. – Andrew
to świetny klejnot. Dziękuję bardzo. – hankang
Działa jak zaklęcie \ o / –