我正在使用 OAuth-Sample-Client 代码通过 Linked Invitation API 从电子邮件地址发送邀请。我创建了与开发人员站点中描述的相同的主体,但现在我收到 401 错误,我已经搜索了很多,但没有得到任何解决方案让我从任何站点或论坛中摆脱它。我的回复如下。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
<status>401</status>
<timestamp>1351159386437</timestamp>
<request-id>YX4NRU3S7J</request-id>
<error-code>0</error-code>
<message>[unauthorized]. OAU:ron8e8nko3te|e0a96317-dfdc-44fb-b427-5655e02f97ed|*01|*01:1351159294:dRCDN6b3K9F/mwWAaByKZQPgeVw=</message>
</error>
这里我的 json 字符串是这样的:
{"body":"说是!","subject":"连接邀请。","recipients":{"values":[{"person":{"first-name":"test","last -name":"test","_path":"/people/email=test@test.com"}}]},"item-content":{"invitation-request":{"connect-type":"朋友”}}}
我已使用以下代码发送邀请。
- (IBAction)postButton_TouchUp:(UIButton *)sender
{
[statusTextView resignFirstResponder];
NSURL *url = [NSURL URLWithString:@"http://api.linkedin.com/v1/people/~/mailbox"];
OAMutableURLRequest *request =
[[OAMutableURLRequest alloc] initWithURL:url
consumer:oAuthLoginView.consumer
token:oAuthLoginView.accessToken
callback:nil
signatureProvider:[[OAHMAC_SHA1SignatureProvider alloc] init]];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSDictionary *temp=[[NSDictionary alloc]initWithObjectsAndKeys:@"/people/email=test@test.com",@"_path",@"test",@"first-name",@"test",@"last-name", nil];
NSDictionary *temp2=[[NSDictionary alloc] initWithObjectsAndKeys:temp,@"person",nil];
NSArray *arr2=[[NSArray alloc]initWithObjects:temp2, nil];
NSDictionary *value=[[NSDictionary alloc]initWithObjectsAndKeys:arr2,@"values", nil];
NSDictionary *dict3=[[NSDictionary alloc]initWithObjectsAndKeys:@"friend",@"connect-type",nil];
NSDictionary *dict4=[[NSDictionary alloc] initWithObjectsAndKeys:dict3,@"invitation-request", nil];
NSDictionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:dict4,@"item-content",@"Say yes!",@"body",@"Invitation to connect.",@"subject",value,@"recipients", nil];
NSLog(@"%@",[dict description]);
NSString *updateString = [dict JSONString];
[request setHTTPBodyWithString:updateString];
[request setHTTPMethod:@"POST"];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(postUpdateApiCallResult:didFinish:)
didFailSelector:@selector(postUpdateApiCallResult:didFail:)];
[request release];
}
我被困在这一点上,请让我摆脱困境。-提前致谢