【发布时间】:2015-12-09 12:23:39
【问题描述】:
我正在尝试使用 Faraday Gem 从 Exact Online API 访问数据,它返回"401" 的状态,这意味着在我登录之前无权访问该链接,但我已经通过身份验证并且我成功登录了不同的页面。
如果我尝试通过浏览器 URL 栏单独访问该链接,我可以看到数据。
这是我的控制器
def example1
@exact_conn = Faraday.new(:url => 'https://start.exactonline.nl') do |data|
data.request :url_encoded
data.response :logger
data.adapter Faraday.default_adapter
end
data = @exact_conn.get("/api/v1/{division}/salesinvoice/SalesInvoices"
@received_data = data.status
end
我的观点
<h1>Received Data</h1>
<%= @received_data %>
我该如何解决这个问题?
或者
我可以使用他们的任何其他选项来直接访问该数据而无需进行第二次身份验证吗?。
【问题讨论】:
-
“在不同页面上授权” - 您的意思是您将身份验证数据传递给 api 并在那里授权?
-
基本上我在应用程序中有一个按钮,如果你点击它,它会连接到精确的在线身份验证系统,然后在登录后它会返回我的应用程序。
It acts like facebook login button: 之后,如果我尝试从 Exactonline API 访问一些数据,它会返回 401 错误 -
请记住在 URL 中包含部门 ID。 {division} 只是一个必须填写的信号。登录时可以在 URL 中找到 Division 或使用 'select * from systemdivisions'。
标签: ruby-on-rails ruby faraday exact-online