状态码:YELP api中的400

时间:2015-07-06 10:40:09

标签: ios objective-c

我正在使用我的应用中的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中的问题是什么?

1 个答案:

答案 0 :(得分:2)

这是因为您正在使用和构建的项目是基于API 1.0构建的。文档说得非常清楚:

  

不推荐使用Yelp v1.0 API,强烈建议开发人员不要使用它。目前没有计划将其关闭,但使用它需要您自担风险。

同时查看this问题和this问题。他们并不完全是“做这个和这个”的问题,但他们确实提供了一些见解。除此之外,我只建议仔细阅读Yelp documentation并相应地编写您的应用程序。只需使用 AFNetworking 来完成您想要的所有请求,一切都应该没问题。