我正在尝试在Ruby on Rails 3应用程序中开始使用Google Data API for Google Book Search,我甚至不了解如何开始使用。我需要什么宝石?为了做一些简单的搜索标题为Foobar的书籍,我需要做些什么?
答案 0 :(得分:12)
跟进弃用问题:我刚刚发布了GoogleBooks,这是一个Ruby包装器,使用户能够以所描述的方式精确地查询书籍。
它已更新为现在的Google API,所以它不会受到最近Google图书搜索API弃用的影响。
答案 1 :(得分:6)
如果您希望使用Google图书检索有关图书的信息,可以使用他们的数据API:http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html
向http://books.google.com/books/feeds/volumes?q=isbn:9780974514055之类的网址发出请求会返回带有图书信息的XML。您可以使用Nokogiri gem来解析结果(http://nokogiri.org/)。
要注意的一点是,要获得图书的完整描述,您需要获取条目而不仅仅是Feed结果。
以下是您如何从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
答案 2 :(得分:0)
如果你想使用api,我想你将不得不使用jruby和他们的java api。根据这个:http://code.google.com/apis/books/docs/gdata/code.html
,书籍搜索没有ruby api要与谷歌连接,请尝试使用gdata gem。 http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails