我正在使用我的应用中的Yelp集成,我使用this demo作为参考。
当我搜索@"restaurants"
时效果很好,但是当我搜索@"Shopping"
时,它会给出这样的回复:
{ status code: 400, headers {
"Cache-Control" = private;
"Content-Length" = 123;
"Content-Type" = "application/json; charset=UTF-8";
Date = "Mon, 06 Jul 2015 10:28:37 GMT";
Server = Apache;
Vary = "User-Agent";
"X-Mode" = ro;
"X-Node" = "web16-uswest1bprod, api_com";
"X-Proxied" = "extlb1-uswest1bprod";
} }
我的 .m 文件代码:
- (OAMutableURLRequest*) getOARequest {
NSString *realm;
OAConsumer *consumer = [[OAConsumer alloc] initWithKey: CONSUMER_KEY secret: CONSUMER_SECRET];
//passing token and token secret keys.
OAToken *token = [[OAToken alloc] initWithKey: TOKEN secret: TOKEN_SECRET];
id<OASignatureProviding, NSObject> provider = [[OAHMAC_SHA1SignatureProvider alloc] init];
//calling signature method
OAMutableURLRequest* request = [[OAMutableURLRequest alloc]
initWithURL: [NSURL URLWithString:[self getRequestURLString]]
consumer: consumer
token: token
realm: realm
signatureProvider: provider];
[request prepare];
return request;
}
- (void) getRestaurantList {
NSHTTPURLResponse* response; //this is object is used for response perpose
NSError* error;
NSData* data = [NSURLConnection sendSynchronousRequest: [self getOARequest]
returningResponse: &response
error: &error];
// If the response is all good then fill in the restaurant dictionary with
// the Yelp JSON data
NSLog(@"%@",response);
if ([response statusCode] == 200) {
//success
}
有谁知道Yelp API中的问题是什么?
答案 0 :(得分:2)
这是因为您正在使用和构建的项目是基于API 1.0构建的。文档说得非常清楚:
不推荐使用Yelp v1.0 API,强烈建议开发人员不要使用它。目前没有计划将其关闭,但使用它需要您自担风险。
同时查看this问题和this问题。他们并不完全是“做这个和这个”的问题,但他们确实提供了一些见解。除此之外,我只建议仔细阅读Yelp documentation并相应地编写您的应用程序。只需使用 AFNetworking 来完成您想要的所有请求,一切都应该没问题。