ruby-on-rails - omn​​iauth-dropbox 和 dropbox-sdk,他们能一起工作吗

标签 ruby-on-rails omniauth dropbox-api

自从我看到 omniauth-dropbox gem ,被制成:

Authenticate to the Dropbox REST API (v1).

我很高兴我不需要开发 OAuth 暗示的所有重定向。 但是我找不到让它们一起工作的方法:(

omniauth-dropbox gem,工作正常,单独使用,我得到了身份验证等等。 但是要从回调中保存什么,所以 dropbox-sdk会明白用户已通过身份验证吗?

如何让 session.get_access_token 由 omniauth-dropbox 自动处理?

代码

def dropbox
    session = DropboxSession.new(MULTIAPI_CONFIG['dropbox']['appKey'], MULTIAPI_CONFIG['dropbox']['appSecret'])
    session.get_request_token
    authorize_url = session.get_authorize_url('myurl/auth/dropbox/callback')
    print authorize_url
    session.get_access_token
    client = DropboxClient.new(session, ACCESS_TYPE)
    object = client.metadata('/')
    render :json => object
end

错误

Couldn't get access token. Server returned 401: Unauthorized.

最佳答案

它看起来来自 https://github.com/intridea/omniauth/wiki就像您可以在回调处理程序中获取 env['omniauth.auth'] 一样,您可以从那里提取凭据(tokensecret ).参见 https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema .

获得 token 和密码后,您应该可以调用 session.set_access_token告诉 Dropbox SDK 使用什么凭据。

关于ruby-on-rails - omn​​iauth-dropbox 和 dropbox-sdk,他们能一起工作吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302455/

相关文章:

ruby-on-rails - Rails 路线前缀错误

ruby-on-rails - rails : Omniauth - "The parameter app_id is required"

ruby-on-rails - Omniauth-facebook 与设计 : "Missing passthru" errors

php - 客户端错误 : `POST https://api.dropboxapi.com/2/files/list_folder` resulted in a `401 Unauthorized

ios - Dropbox iOS SDK 中的 loadStreamableURLForFile() 不返回任何内容

mysql - 由于错误的迁移而尝试重置我的数据库,如果没有 SQLException 甚至无法重置

ruby-on-rails - 从要创建的新方法获取对象 ID 的值

ruby-on-rails - result.credit_card_verification 即使在 braintree 出错时也返回 nil

ruby-on-rails-3 - 覆盖在omniauth gem中设置的默认范围

ios - 如何使用 include_media_info 获取元数据?