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;