[英]getting error when retrieving connections using linkedin api in iphone
我有一个将我的Linkedin集成到我的应用程序中的应用程序。我想获取已登录用户的连接。为此,我完成了代码,但返回错误:
{
"errorCode": 0,
"message": "Unknown authentication scheme",
"requestId": "98TKWP0T23",
"status": 401,
"timestamp": 1355726431107
}
这是我完成的代码:
(NSMutableArray*) getFriendsList
{
NSString *url1 = [NSString stringWithFormat:@"http://api.linkedin.com/v1/people/id=%@:(connections)?format=application/json",linkedinid];
NSLog(@"%@",url1);
NSURL *url = [NSURL URLWithString:url1];
OAMutableURLRequest *request = [[OAMutableURLRequest alloc]
initWithURL:url
consumer:consumer
token:token
callback:nil
signatureProvider:nil];
[request setValue:@"json" forHTTPHeaderField:@"x-li-format"];
[request setHTTPMethod:@"POST"];
NSError *err;
NSURLResponse *resp;
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:&resp error:&err];
NSMutableArray *arr = [[NSMutableArray alloc] init];
if (response != nil)
{
NSString *stringResponse = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *linkedin_response = [parser objectWithString:stringResponse error:nil];
}
}
但在stringresponse中,它返回上述错误。
尝试这个 :
- (void)getFriendsList
{
NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~/connections"];
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
consumer:oAuthLoginView.consumer
token:oAuthLoginView.accessToken
callback:nil
signatureProvider:nil];
[request setValue:@"json" forHTTPHeaderField:@"x-li-format"];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(networkApiCallResult:didFinish:)
didFailSelector:@selector(networkApiCallResult:didFail:)];
}
- (void)networkApiCallResult:(OAServiceTicket *)ticket didFinish:(NSData *)data
{
NSString *responseBody = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSDictionary *demo = [responseBody objectFromJSONString];
NSMutableArray *connections = [[NSMutableArray alloc] init];
for(int i=0;i<[[demo objectForKey:@"_count"] intValue];i++)
{
NSDictionary *person = [NSString stringWithFormat:@"%@ %@",[[[[responseBody objectFromJSONString]
objectForKey:@"values"]
objectAtIndex:i]
objectForKey:@"firstName"],[[[[responseBody objectFromJSONString]
objectForKey:@"values"]
objectAtIndex:i]
objectForKey:@"lastName"]];
NSLog(@"Connection %d : %@",i,[NSString stringWithFormat:@"%@ %@",[[[[responseBody objectFromJSONString]
objectForKey:@"values"]
objectAtIndex:i]
objectForKey:@"firstName"],[[[[responseBody objectFromJSONString]
objectForKey:@"values"]
objectAtIndex:i]
objectForKey:@"lastName"]]);
[connections addObject:person];
}
}
- (void)networkApiCallResult:(OAServiceTicket *)ticket didFail:(NSData *)error
{
NSLog(@"%@",[error description]);
}
从表面上看,您没有在帖子中传递“用户名/密码”,因此,您正在获得“未知身份验证方案”。 我不确定您是否能够在自己的应用程序中检测到已登录用户的连接,除非您将其凭据存储在应用程序中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.