如果这是一个愚蠢的问题,请原谅我,这里是新手程序员。
我正在尝试使用 Soundcloud API 在我的 Rails 3.2.14 应用程序中对用户进行身份验证。我直接使用 Soundcloud 开发人员文档中的代码,如下所示:
client = Soundcloud.new(
:client_id => 'MY_CLIENT_ID',
:client_secret => 'MY_CLIENT_SECRET',
:redirect_uri => 'http://localhost:3000/auth/soundcloud/callback'
)
# redirect user to authorize URL
redirect_to client.authorize_url(:scope => 'non-expiring')
当我获取回调 URI 时:
client = Soundcloud.new(
:client_id => 'MY_CLIENT_ID',
:client_secret => 'MY_CLIENT_SECRET',
:redirect_uri => 'http://localhost:3000/auth/soundcloud/callback'
)
# exchange authorization code for access token
code = params[:code]
access_token = client.exchange_token(:code => code)
一切正常(我被带到 Soundcloud 页面以授予我的应用程序权限)但是当我被发送回回调 URI 时,我收到以下错误:
SoundCloud::ResponseError at /auth/soundcloud/callback
HTTP status: 401 Unauthorized Error: invalid_grant
我显然已经用谷歌搜索了这个,唯一的建议是我的令牌即将到期。这对我来说没有意义,因为我稍后不会重用 access_token,我只是在进行初始身份验证。以防万一我在重定向到 Soundcloud 时包含了 scope => non-expiring 参数,这没有任何区别。
有什么建议么?最近有没有人成功地将 Rails 与 Soundcloud 集成?我发现的所有资源似乎都已经过时了。