Fitbit和OAuth 2.0

4

我正在尝试将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;

目前遇到了同样的问题。 - kgaidis
请问您能告诉我,为什么以及在USER_NAME和USER_PASSWORD中使用了什么? - Lion
以下链接包含使用Fitbit框架的示例代码 http://stackoverflow.com/questions/34393507/fitbit-framework-is-available/34393522#34393522 - Karthik
有人找到了解决方案吗?因为我也遇到了同样的问题。 - AmJa
仔细阅读 https://appengineer.in/2016/04/30/fitbit-aouth-in-ios-app/。您将获得逐步解决方案和FitBit集成的源代码。 - Mahendra Y
1个回答

1
在我的情况下,我将错误的路径添加到了基本URL中。例如,我的路径是“/oauth/access_token”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接