Как вызвать API OAuth 2.0 от iOS

Я работаю над интеграцией Fitbit . Как я могу сделать запрос и разрешить его API OAuth 2.0. Я проверил ASIHTTPRequest, но он недоступен в ARC. Могу ли я сделать это с помощью AFNetworking ? Я использую Objective-C.

Его использование с использованием AFNetworking с использованием AFOAuth2Manager здесь – это код

В ViewController.m

 #define CLIENT_ID @"your client id" #define CONSUMER_SECRET @"your consumer secret" 

Начать авторизацию с помощью сафари.

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.fitbit.com/oauth2/authorize?response_type=code&client_id=227FKJ&redirect_uri=http%3A%2F%2Fcallback.com%2Ffitbit&scope=activity%20nutrition%20heartrate%20location%20nutrition%20profile%20settings%20sleep%20social%20weight"]]; 

получить код ответа от NSUserDefaults

 NSString *string = [[NSUserDefaults standardUserDefaults] valueForKey:@"auth_code"]; NSURL *baseURL = [NSURL URLWithString:@"https://www.fitbit.com/oauth2/authorize"]; AFOAuth2Manager *OAuth2Manager = [[AFOAuth2Manager alloc] initWithBaseURL:baseURL clientID:CLIENT_ID secret:CONSUMER_SECRET]; NSDictionary *dict = @{@"client_id":CLIENT_ID, @"grant_type":@"authorization_code",@"redirect_uri":@"http://lampdemos.com/fitbit",@"code":string}; [OAuth2Manager authenticateUsingOAuthWithURLString:@"https://api.fitbit.com/oauth2/token" parameters:dict success:^(AFOAuthCredential *credential) { NSLog(@"Token: %@", credential.accessToken); AppDelegate *adddel = (AppDelegate *)[[UIApplication sharedApplication]delegate]; adddel.credential = credential; [self getUserProfileWithCredentials:credential]; } failure:^(NSError *error) { NSLog(@"Error: %@", error); }]; 

вызывать дальнейшие запросы

 -(void)getUserProfileWithCredentials:(AFOAuthCredential*)credential{ NSURL *baseURL = [NSURL URLWithString:@"https://www.fitbit.com/oauth2/authorize"]; AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL]; [manager.requestSerializer setAuthorizationHeaderFieldWithCredential:credential]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; [manager GET:@"https://api.fitbit.com/1/user/-/profile.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSDictionary *dictResponse = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSDictionary *userDict =[dictResponse valueForKey:@"user"]; NSLog(@"Success: %@", userDict); NSMutableString *str =[NSMutableString stringWithFormat:@"%@",@""]; for (NSString *key in [userDict allKeys]) { [str appendFormat:@"%@ %@\n",key,[NSString stringWithFormat:@"%@",[userDict valueForKey:key]]]; } self.profileDetails.text =str; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Failure: %@", error); }]; } 
  • Google plus API для публикации на стене, например, Facebook
  • Как получить Instagram access_token с помощью OAuth2Swift
  • Как реализовать AFOAuth2Client для получения токена обновления?
  • AFOAuth2Client и токен обновления
  • Как открыть всплывающее окно OAuth (иерархия окон)
  • Objective-c .homeServerAuthorizationCode равен нулю
  • Аутентификация OAuth Iphone
  • ios gtm-oauth no keyboard
  • получить авторизацию от Fitbit, используя Oauth в iOS
  • Django перенаправляет на пользовательский URL-адрес
  • Методы обновления токена доступа с использованием OAuth 2 на платформе iOS
  • Давайте будем гением компьютера.