5

我正在尝试调用 fitbit API。我不确定如何将下面显示的 HTTP 请求输入到我的 Objective C 代码中,以便进行此调用并处理响应。

POST /oauth/request_token HTTP/1.1
Host: api.fitbit.com
Authorization: OAuth oauth_consumer_key="fitbit-example-client-application",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1270248082",
oauth_nonce="161822064",
oauth_callback="http%3A%2F%2Fexample.fitbit.com%2Fapp%2FcompleteAuthorization",
oauth_signature="Omf%2Bls2gn%2BDlghq245LRIyfMdd8%3D"
oauth_version="1.0"

一个简单的例子会很有帮助。谢谢你。

4

4 回答 4

2

我建议使用 OAuth 库来处理 OAuth 签名生成。争论 Authorization 标头可能会很痛苦。我已经成功使用了 oauthconsumer

代码示例:

OAConsumer *consumer = [[OAConsumer alloc] initWithKey:oauthConsumerKey secret:oauthConsumerSecret];
OAToken *token = [[OAToken alloc] initWithKey:oauthAccessToken secret:oauthAccessTokenSecret];
OAHMAC_SHA1SignatureProvider *provider = [[OAHMAC_SHA1SignatureProvider alloc] init];

OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlString] consumer:consumer token:token realm:nil signatureProvider:provider];
[request prepare];

NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

在此示例中,您将提供的 5 个字符串是:

oauthConsumerKey
oauthConsumerSecret
oauthAccessToken
oauthAccessTokenSecret
urlString
于 2012-12-28T06:24:17.940 回答
1

我正在尝试做同样的事情,并且 oauthconsumer 看起来很不错。

是因为我没有得到 oauthAccessTokenSecret 吗? [编辑] 是的,是的。

我不断收到: “此页面不再有效。您提供的令牌似乎无效或有人已使用您提供的令牌。请返回将您发送到此页面的站点或应用程序,然后重试。”

[编辑] 这是因为它在 url 字符串上没有正确的标记。

于 2013-05-14T18:00:39.087 回答
0

嗨,您可以从下面的链接中获取工作的 FitBit Oauth1.0 身份验证示例代码

https://github.com/KaranRajpoot/FitBit

于 2014-01-06T11:25:52.987 回答
0

使用OAuth.ioOAuth.io iOS SDK连接到 FitBit。

于 2014-12-15T07:28:25.143 回答