不习惯提问在堆栈上,如果格式难以回答,我们深表歉意。
无论如何,我正在尝试使用带Napster API的Ruby on Rails开发应用程序。我目前坚持设置client对象,该对象将允许我进行元数据调用。
我正在config/initializers
中将客户端设置为napster.rb
。这是我的代码
require 'napster'
client_hash = {
api_key: ENV["NAPSTER_API_KEY"],
api_secret: ENV["NAPSTER_API_SECRET"],
username: ENV["NAPSTER_USER"],
password: ENV["NAPSTER_PW"]
}
client = Napster::Client.new(client_hash)
client.access_token
client.authentication.access_token # => returns access_token
client.authentication.refresh_token
client.authentication.expires_in
现在,每当我尝试在控制台中运行rails c
时,都会出现此错误
config/initializers/napster.rb:14:in <main>: undefined method authentication' for #<Napster::Client:0x0000559185ef3cf8>
ENV
变量存储在config/application.yml
中。我不确定发生了什么,这是#<Napster::Client:0x0000559185ef3cf8>
#<Napster::Client:0x0000559185ef3cf8
@api_key=--Omitted--,
@api_secret=--Omitted--,
@username=--Omitted--, @password=--Omitted--,
@request=#<Napster::Request:0x0000559185ef3b40 @faraday=#
<Faraday::Connection:0x0000559185ef3a28 @parallel_manager=nil,
@headers={"Authorization"=>"Basic
Tm1KbVpHRXlOV0l0WVRJNFppMDBPVEkwTFdJM1l
6WXRPR1ExTTJSaE16WXpORE5tOllXWmlNek5oT0RFdE
5UaG1PUzAwWlRWakxXSXpNRFF0WVRJeU56bG1abUkzTmpJMA==", "User-
Agent"=>"Faraday v0.9.2"}, @params={}, @options=#
<Faraday::RequestOptions (empty)>, @ssl=#<Faraday::SSLOptions
verify=true>, @default_parallel_manager=nil, @builder=#
<Faraday::RackBuilder:0x0000559185ef3758 @handlers=
[Faraday::Request::UrlEncoded, Faraday::Adapter::NetHttp], @app=#
<Faraday::Request::UrlEncoded:0x0000559185efd050 @app=#
<Faraday::Adapter::NetHttp:0x0000559185efd0c8 @app=#
<Proc:0x0000559185efd1b8@/home/leo/.rbenv/versions/
2.4.4/lib/ruby/gems/2.4.0/gems/faraday-
0.9.2/lib/faraday/rack_builder.rb:152 (lambda)>>>>, @url_prefix=#
<URI::HTTPS https://api.napster.com/>, @proxy=nil>>,
@access_token=--Omitted--,
@refresh_token=--Omitted--,
@expires_in=86399>
出于明显的安全原因,我省略了api和访问令牌的内容。感谢任何体贴的输入。