Fad*_*dat 0 objective-c linkedin
我想显示用户个人资料照片和他的个人资料字段,例如公司名称,职位,行业和位置.我调用ProfilePicCall来检索个人资料图片.
- (void)ProfilePicCall
{
NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~/picture-url"];
OAMutableURLRequest *request =
[[OAMutableURLRequest alloc] initWithURL:url
consumer:oAuthLoginView.consumer
token:oAuthLoginView.accessToken
callback:nil
signatureProvider:nil];
NSLog(@"the request is %@",request);
[request setValue:@"json" forHTTPHeaderField:@"x-li-format"];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(profileApiCallResult:didFinish:)
didFailSelector:@selector(profileApiCallResult:didFail:)];
}
Run Code Online (Sandbox Code Playgroud)
然后在图像视图中显示照片我使用下面的代码
- (void)profileApiCallResult:(OAServiceTicket *)ticket didFinish:(NSData *)data
{
NSString *responseBody = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSDictionary *profile = [responseBody objectFromJSONString];
// [responseBody release];
if ( profile )
{
NSLog(@"Profile is %@",profile);
NSString *picture_url = [[NSUserDefaults standardUserDefaults]valueForKey:@"linkedid_Profile_url"];
NSURL *imageurl = [NSURL URLWithString:picture_url];
NSData *imagedata = [[NSData alloc]initWithContentsOfURL:imageurl];
UIImage *image = [UIImage imageWithData: imagedata];
[LinkedInPicture setImage:image];
}
else
{
NSDictionary *profile = [responseBody objectFromJSONString];
NSLog(@"last path componemt is %@",profile);
}
// The next thing we want to do is call the network updates
[self networkApiCall];
[[NSUserDefaults standardUserDefaults] setValue:@"Used" forKey:@"linkedin"];
}
Run Code Online (Sandbox Code Playgroud)
但图像不显示在图像视图中.请帮我显示图片,以及如何使用LinkedIn API
谢谢.
我找到了我的问题的解决方案,它应该将LinkedIn API调用更改为:
- (void)profileApiCall
{
// NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~"];
NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~:(id,first-name,last-name,industry,picture-url,location:(name),positions:(company:(name),title),specialties,date-of-birth,interests,languages)"];
OAMutableURLRequest *request =
[[OAMutableURLRequest alloc] initWithURL:url
consumer:oAuthLoginView.consumer
token:oAuthLoginView.accessToken
callback:nil
signatureProvider:nil];
NSLog(@"the request is %@",request);
[request setValue:@"json" forHTTPHeaderField:@"x-li-format"];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(profileApiCallResult:didFinish:)
didFailSelector:@selector(profileApiCallResult:didFail:)];
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
| 归档时间: |
|
| 查看次数: |
1903 次 |
| 最近记录: |