0

直到几天前一切正常。但是在对 FitBit 进行一些更改后,新用户无法再获得 OAuth 握手。问题是当我收到临时令牌并拨打电话以完成握手并接收凭据时。

所以在第一步我得到:

TOKEN: 1a227cfde686220183763946a98173bc and VERIFIER: p2g5ims7o4ffscev603rbif05g

在第二步中,我使用主题来调用https://api.fitbit.com/oauth/access_token ...

签名基本字符串是:

POST&https%3A%2F%2Fapi.fitbit.com%2Foauth%2Faccess_token&oauth_consumer_key%3D7c5e888aa3dd4d17a26d82a7f541b278%26oauth_token%3D1a227cfde686220183763946a98173bc%26oauth_nonce%3D5hw45lgu%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1391094796%26oauth_verifier%3Dp2g5ims7o4ffscev603rbif05g%26oauth_version%3D1.0

然后我收到标题(使用与第一步相同的函数计算签名)

Authorizing with HEADER: OAuth oauth_consumer_key="7c5e888aa3dd4d17a26d82a7f541b278",oauth_token="1a227cfde686220183763946a98173bc",oauth_nonce="5hw45lgu",oauth_signature="X4udgn9A7Q2xI%2FN38QELl%2BIDVqM%3D",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1391094796",oauth_verifier="p2g5ims7o4ffscev603rbif05g",oauth_version="1.0"

这应该可行,但我收到 401 错误消息:

{"errors":[{"errorType":"oauth","fieldName":"oauth_access_token","message":"Invalid signature or token 'JNGSIMomid/oghtWGrz7crC6KhM=' or token '6c45d0ce39195e848da14cad0a4f9719'"}],"success":false}

我已经工作了 7 个小时......据我所知,一切都很好......错误是关于字段名称 oauth_access_token ......这个字段甚至不存在。无论如何我都尝试过并收到错误说安全性不好......

任何想法?

4

1 回答 1

0

我有同样的问题。在做了一些研究之后,我注意到 API 发生了变化,并且我使用的库已经过时了。为了解决这个问题,我更新了我的库并做了一些代码更改。这是更改后.Net实现的链接: https ://github.com/arondcoleman/Fitbit.NET/wiki/Breaking-Change-on-1-24-2014-as-a-result-of-OAuth -update-in-Fitbit-API

问候,

弗雷迪

于 2014-02-11T10:18:47.977 回答