ios6 - IOS HTTP 请求示例

标签 ios6 http-headers fitbit

我正在尝试调用 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"

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

最佳答案

我建议使用 OAuth 库来处理 OAuth 签名生成。争论 Authorization header 可能很麻烦。我用过 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

关于ios6 - IOS HTTP 请求示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14036210/

相关文章:

php - 为什么 PUT 请求需要 x-www-form-urlencoded 而不能使用表单数据?

coldfusion - 使用 Coldfusion 仅获取远程 URL 的 HTTP header

Fitbit 订阅 API

iphone - SDWebImage 未运行

ios - 在 UITableViewCell 突出显示时更改 accessoryView

ios - Fetched Property 适用于 iOS5 但不适用于 iOS6

为所有处理程序设置标题

ios - 如何让自动布局在 Xcode 中工作

linux - 如何使用 bluez 在 Linux 上通过蓝牙 4.0 LE 连接到 FitBit Zip?

android - 如何使用 Chrome 自定义选项卡进行 OAuth 2.0 登录 (Fitbit API)