Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 输入ISBN编号Rails 3时从API检索信息_Ruby On Rails 3_Api - Fatal编程技术网

Ruby on rails 3 输入ISBN编号Rails 3时从API检索信息

Ruby on rails 3 输入ISBN编号Rails 3时从API检索信息,ruby-on-rails-3,api,Ruby On Rails 3,Api,首先,我知道我有一些关于这方面的阅读,但我想看看rails是如何做到这一点的 我将建立一个简单的图书库,您可以在其中添加图书,但与其通过长表单手动输入所有信息,不如输入ISBN编号,然后通过api检索所有信息。我相信谷歌数据有这样一个api?或者有人用其他东西吗?这将是我第一次使用api,因此我非常感谢任何能帮助我的建议/资源似乎有一项服务正好提供了您想要的- Rails代码: require 'open-uri' class BookController < ApplicationCon

首先,我知道我有一些关于这方面的阅读,但我想看看rails是如何做到这一点的


我将建立一个简单的图书库,您可以在其中添加图书,但与其通过长表单手动输入所有信息,不如输入ISBN编号,然后通过api检索所有信息。我相信谷歌数据有这样一个api?或者有人用其他东西吗?这将是我第一次使用api,因此我非常感谢任何能帮助我的建议/资源

似乎有一项服务正好提供了您想要的-

Rails代码:

require 'open-uri'
class BookController < ApplicationController
  def searchbook
     resp = open("http://isbndb.com/api/books.xml?access_key=#{YOUR_API_KEY}&results=details&index1=isbn&value1=#{params[:isbn]}")
     doc = Nokogiri.XML(resp.read)
     # ... process response here
  end
end
需要“打开uri”
类BookController<应用程序控制器
def搜索簿
resp=打开(“http://isbndb.com/api/books.xml?access_key=#{YOUR_API_KEY}&results=details&index1=isbn&value1={params[:isbn]}”)
doc=Nokogiri.XML(分别读取)
# ... 在此处理响应
结束
结束
了解nokogiri的解析功能

至于api实际上是什么以及它是如何工作的,我认为这是一个很好的起点。

似乎有一项服务提供了您想要的东西-

Rails代码:

require 'open-uri'
class BookController < ApplicationController
  def searchbook
     resp = open("http://isbndb.com/api/books.xml?access_key=#{YOUR_API_KEY}&results=details&index1=isbn&value1=#{params[:isbn]}")
     doc = Nokogiri.XML(resp.read)
     # ... process response here
  end
end
需要“打开uri”
类BookController<应用程序控制器
def搜索簿
resp=打开(“http://isbndb.com/api/books.xml?access_key=#{YOUR_API_KEY}&results=details&index1=isbn&value1={params[:isbn]}”)
doc=Nokogiri.XML(分别读取)
# ... 在此处理响应
结束
结束
了解nokogiri的解析功能

至于api实际上是什么以及它是如何工作的,我认为这是一个很好的起点。

谢谢Kai,你知道有什么好的资源可以解释对api请求的整个调用吗?这可能是一个很好的起点-只是一个问题,处理JSON数据而不是XML更好吗?XML是一种非常强大的标记语言,另一方面,json更易于人眼阅读,并且使用更少的字符来构造数据。所以对于api,我会选择json。但是,如果您计划使用库,这也可能取决于库公开底层数据的程度。谢谢Kai,您知道解释整个api请求调用的好资源吗?这可能是一个很好的起点-只是一个问题,处理JSON数据而不是XML是否更好?XML是一种非常强大的标记语言,另一方面,json更易于人眼阅读,并且使用更少的字符来构造数据。所以对于api,我会选择json。但是,如果您计划使用库,也可能取决于库公开底层数据的效果。