실제로 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
당신이 바로위한 인증 후 얻을 하나입니다 : 당신
공식 링크드 문서는 무엇을 말하는가 :이처럼 보이는 JSON 응답을 말했듯이,
그냥이 URL에AFNetworking
와GET
요청을하면받을 수 있습니다? – Ollie