我是Rails和REST的新手。我想在Rails中使用REST API。我用ActiveResource找到了一种简单而标准的方法。
我想要使用的API是:https://api.pinterest.com/v2/popular
在直接访问此API时,请回复:{“message”:“请升级您的应用!”,“错误”:“身份验证失败:请升级您的应用!”}
因此,当我从RAILS使用它时,我想要相同的结果。
为了做到这一点,我生成了一个模型作为Popular并将其代码修改为:
class Popular < ActiveResource::Base
self.site = "https://api.pinterest.com/v2/popular"
self.format = :json
end
然后,我将控制器生成为Populars并将其代码修改为:
class PopularsController < ApplicationController
def index
@popular = Popular.all
render :json => @popular
end
end
然后在routes.rb中,我添加了
resources :populars
在运行“http:// localhost:3000 / populars”时,它在浏览器中显示“null”。虽然预期结果为{“message”:“请升级您的应用!”,“错误”:“身份验证失败:请升级您的应用!”}
请指导,我跑错了。
请提供在Rails中使用HTTPS REST API的特定指南。如何使用OAuth使用它们?
除了通过ActiveResource消费它还有其他更好的方法吗?
答案 0 :(得分:1)
如果您输入控制台
1.9.2p320 :041 > Popular.collection_path
=> "/v2/popular/populars.json"
因此,通过约定,您在服务器端有错误的路由。
您也可以使用
在控制台中启用记录器ActiveResource::Base.logger = Logger.new(STDERR)
你可以看到下一个:
1.9.2p320 :042 > Popular.all
I, [2012-08-08T01:51:36.725766 #1371] INFO -- : GET https://api.pinterest.com:443/v2/popular/populars.json
I, [2012-08-08T01:51:36.725878 #1371] INFO -- : --> 404 NOT FOUND 17 (1936.9ms)
=> nil
这就是为什么结果为零。
https://github.com/albertopq/oauth-activeresource - 试试这个gem,将activeresource与oauth一起使用。