我正在尝试将 fitbit 集成添加到 iOS 应用程序中。我惊讶地发现这是多么困难......我想象会有一个 iOS SDK。
无论如何,我正在尝试通过基于 Web 的 API 提取数据。它使用 OAuth 1 和 2。
我都尝试过,但在 OAuth 2.0 方面取得了更大的进步。
我目前正在使用AFOAuth2Manager进行连接。不幸的是,它运行不佳。
将演示代码与我的帐户信息一起使用,我收到以下错误:
请求失败:不可接受的内容类型:text/html
通过添加:
OAuth2Manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
该错误消失了,但出现了一个新错误:
JSON 文本未以数组或对象开头,并且允许未设置片段的选项。
这是我用来发出请求的代码:
AFOAuth2Manager *OAuth2Manager =
[[AFOAuth2Manager alloc] initWithBaseURL:baseURL
clientID:@"CLIENT_ID"
secret:@"CLIENT_SECRET"];
OAuth2Manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[OAuth2Manager authenticateUsingOAuthWithURLString:@"/oauth2/authorize"
username:USER_NAME
password:USER_PASSWORD
scope:@"activity"
success: ^(AFOAuthCredential *credential) {
NSLog(@"Token: %@", credential.accessToken);
}
failure: ^(NSError *error) {
NSLog(@"Error: %@", error);
}];
我想尝试添加 NSJSONReadingAllowFragments。但是一直无法将其无误地放入代码中。
//OAuth2Manager.responseSerializer.readingOptions = NSJSONReadingAllowFragments;