2016-06-28 1 views
0

실제로 OAuth 2.0을 사용하고 있습니다. 그리고 afnetworking의 클래스를 사용하고, webview를 사용하여 Linkedin 로그인 페이지를 표시하고 url을 클라이언트 키로 사용하고 인증 끝인 Point, 응답 유형 및 상태를 표시합니다. 모든 것은 작동 중입니다linkedin의 사용자 데이터 가져 오기와 관련된 문제

-(void)requestforAccessToken:(NSString *)authorisationCode 
{ 
    NSString *grantType = @"authorization_code"; 

    NSString *postParameter = [NSString stringWithFormat:@"grant_type=%@&code=%@&redirect_uri=%@&client_id=%@&client_secret=%@",grantType,authorisationCode,encodedRdirectURL,linkedInKey,linkedInSecret]; 

    NSData *postdata = [postParameter dataUsingEncoding:NSUTF8StringEncoding]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:accessTokenEndPoint]]; 

    request.HTTPMethod = @"POST"; 
    request.HTTPBody = postdata; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 


    AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 


    manager.responseSerializer = [AFJSONResponseSerializer 
     serializerWithReadingOptions:NSJSONReadingAllowFragments]; 


    [[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * response, id responseObject, NSError * error) 
     { 
      if (!error) 
      { 
       NSLog(@"Reply JSON: %@", responseObject); 

       NSString *accessToken = [responseObject objectForKey:@"access_token"]; 

       NSLog(@"Access Token %@",accessToken); 


       NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

       [defaults setObject:accessToken forKey:@"linkedInAccessToken"]; 

       [defaults synchronize]; 
      } 

     }] resume]; 

} 

이 방법을 사용하면 이제 Access 토큰을 얻습니다. 내 질문은 프로필 사진과 모든 기본 데이터와 같은 사용자 데이터를 얻는 방법입니다. 그저 페이스 북과 같은 솔루션이 있다면 그냥 accesstoken을 추가하면 JSON 데이터를 얻을 수 있습니다. 심지어 내가 linkedin의 SDK를 사용하고 싶지 않아 직접적인 의사 소통을 원합니다.

[NSString stringWithFormat:@"https://api.linkedin.com/v1/people/~:(first-name,last-name,id,industry,location,headline,specialties,current-share,summary,picture-url,email-address,positions)?oauth2_access_token=%@&format=json", accessToken] 

accessToken 당신이 바로위한 인증 후 얻을 하나입니다 : 당신

+0

공식 링크드 문서는 무엇을 말하는가 :이처럼 보이는 JSON 응답을 말했듯이,

그냥이 URL에 AFNetworkingGET 요청을하면받을 수 있습니다? – Ollie

답변

1

감사 여기에 내가 (링크드 인과 협력하지 않고) 링크드 인 사용자에서 가능한 모든 정보를 얻을하는 데 사용하는 URL입니다.

{ 
    emailAddress = "****@gmail.com"; 
    firstName = Pi***e; 
    headline = "Developpeur iOS chez Pi****e"; 
    id = 6Z***bFH3; 
    industry = "Computer Software"; 
    lastName = "Test Account"; 
    location =  { 
     country =   { 
      code = fr; 
     }; 
     name = "Paris Area, France"; 
    }; 
    pictureUrl = "https://media.licdn.com/mpr/mprx/0_Gs*****U-9SswsbZKo3J*********eyCoHgYQadNFGRWQDyCwHjBVSdN4dVyw6gBFGIuQ3ZGnWmtsSdZUTjhIXErcmklEA7X"; 
    positions =  { 
     "_total" = 1; 
     values =   (
         { 
       company =     { 
        name = Pi****e; 
       }; 
       id = 823***52; 
       isCurrent = 1; 
       location = { 
       }; 
       title = "Developpeur iOS"; 
      } 
     ); 
    }; 
} 
+0

정말 고마워요. –

관련 문제