我试图使用OAConsumer API获取数据。我尝试了下面的代码,它给我一个错误。OAConsumer API在接收数据时发生错误
-(void)performQuery
{
OAConsumer *consumer = [[OAConsumer alloc] initWithKey:OAUTH_KEY
secret:OAUTH_SECRET];
NSURL *url = [NSURL URLWithString:@"https://api.semantics3.com/v1/products"];
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url
consumer:consumer
token:nil
realm:nil
signatureProvider:nil]; // use the default method, HMAC-SHA1
[request setHTTPMethod:@"GET"];
[consumer release];
OARequestParameter * qParam = [[OARequestParameter alloc] initWithName:@"q" value:@"{\"cat_id\":13658,\"model\":\"Satellite\"}"];
NSArray *params = [NSArray arrayWithObjects:qParam, nil];
[qParam release];
[request setParameters:params];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(requestDidFinishWithData:)
didFailSelector:@selector(requestDidFailWithError:)];
[request release];
}
误差如下:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OAServiceTicket bytes]: unrecognized selector sent to instance 0x1ed65bf0'
在这条线发生的错误: **的NSString 响应= [[NSString的页头] initWithData:数据 编码:NSUTF8StringEncoding];
- (void)requestDidFinishWithData:(NSData *)data {
NSString *response= [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
//here do what you want with the response, I use SBJson to parse it.
NSLog(@"Request success!%@", response);
[responseBody release];
}
- (void)requestDidFailWithError:(NSError *)error {
NSLog(@"Request did fail with error: %@", [error localizedDescription]);
}
任何想法,我在这里做什么?
我有完全相同的问题。很显然,OAServiceTicket对象不再存在。我还没有能够找到该项目的ARC iOS版本,也许所有非ARC的东西都会导致一些问题。你修好了吗? – cspam