Ruby on Rails 3 アプリケーションで Google ブック検索用の Google Data API の使用を開始しようとしていますが、開始方法もわかりません。どのような宝石が必要ですか? Foobar というタイトルの本を検索するような簡単なことをするにはどうすればよいですか?
3 に答える
非推奨の問題のフォローアップ: GoogleBooksを公開しました。これは、ユーザーが説明されている方法で書籍を正確に照会できるようにする Ruby ラッパーです。
現在の Google API にフックするように更新されているため、Google Book Search API が最近廃止されても影響を受けません。
Google ブックスを使用して書籍に関する情報を取得する場合は、データ API を使用できます: http://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html
http://books.google.com/books/feeds/volumes?q=isbn:9780974514055のような URL に対してリクエストを行うと、本の情報を含む XML が返されます。Nokogiri gem を使用して結果を解析できます ( http://nokogiri.org/ )。
注意すべきことの 1 つは、書籍の完全な説明を取得するには、フィードの結果だけでなく、エントリを取得する必要があることです。
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
API を使用する場合は、jruby とその Java API を使用する必要があると思います。これによると、書籍検索用の Ruby API は存在しません: http://code.google.com/apis/books/docs/gdata/code.html
Google と接続するには、gdata gem を使用してみてください。 http://code.google.com/apis/gdata/articles/gdata_on_rails.html#SetupRails