【发布时间】:2016-06-28 08:57:59
【问题描述】:
实际上我使用的是 OAuth 2.0。并使用afnetworking类,通过使用webview提供url作为客户端密钥及其授权端点、响应类型和状态来显示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];
}
通过使用这种方法,我现在获得了访问令牌,我的问题是如何获取用户数据,如个人资料图片和所有基本数据。有没有像 facebook 这样的解决方案,只需附加 accesstoken,你就会得到 JSON 数据。即使我不想使用linkedin的SDK,想要直接通信所以请帮忙。谢谢你
【问题讨论】:
-
LinkedIn 官方文档是怎么说的?
标签: ios objective-c linkedin