1

我正在尝试将 Withings 与 rails 应用程序集成。我正在使用某人编写的名为omniauth-withings的Omniauth提供程序。我能够配置提供程序以允许我访问重定向到 Withings 授权页面的 /auth/withings。在我允许访问后,浏览器被重定向到回调 url /auth/withings/callback。我将此路由到一个控制器操作,该操作尝试使用simplificator-withings gem从 Withings 获取测量数据。

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

我在这里缺少什么吗?

4

1 回答 1

2

我在使用 django 应用程序时遇到了同样的错误。事实证明我使用了错误的令牌和秘密。我使用的是从授权过程的第 1 步返回的 oauth_token 和 oauth_token_secret,而不是从第 3 步返回的 oauth_token 和 oauth_token_secret。确保您使用的是第 3 步中的值。API 文档显示了从这些调用返回的相同值,但是他们会有所不同。希望这对您也有帮助。

于 2014-09-05T16:06:53.190 回答