2014-08-31 52 views
1

我正在尝试与rails应用程序集成Withings。我正在使用一个叫omniauth-withings的供应商Omniauth。我能够配置提供者以允许我访问重定向到Withings授权页面的/ auth/withings。在允许访问后,浏览器被重定向到回调url/auth/withings/callback。我把它路由到一个控制器动作,试图从Withings获得测量数据,使用simplificator-withings gemWithings API状态代码2555

Withings.consumer_secret = ENV['withings_app_key'] 
Withings.consumer_key = ENV['withings_app_secret'] 

auth_hash = request.env['omniauth.auth'] 
user_id = auth_hash.extra.raw_info.body.users.first.id 

withings_user = User.authenticate(user_id, auth_hash.credentials.token, auth_hash.credentials.secret) 
measurements = withings_user.measurement_groups(:device => Withings::SCALE) 

的问题,当我打电话User.authenticate发生(),我得到这个:

An unknown error occurred - Status code: 2555 

有我丢失的东西吗?

回答

2

我得到了与Django应用程序相同的错误。事实证明,我使用了错误的标记和秘密。我使用的是从授权过程的第1步返回的oauth_token和oauth_token_secret,而不是步骤3中的oauth_token和oauth_token_secret。确保您使用的是第3步中的值.API文档显示的是与这些调用返回的值相同的值,但他们会有所不同。希望这也能帮助你。

+0

问题出在第一行。我将应用程序密钥设置为应用程序密钥的秘密和秘密。一旦我纠正了这个错字,它就起作用了。 – Carlosfocker 2014-09-16 22:16:22