2012-12-06 28 views
0

我正尝试使用应用中的flickr.photos.getInfo方法进行GET调用。目标是使用它的id来获取关于照片的信息。从xcode发出一个GET休息呼叫flickr api

我的方法:

+(NSDictionary*)photoForId:(NSString *)photoID 
{ 
    NSLog(@"photo id = %@", photoID); 
    NSString *request=[NSString stringWithFormat:@"http://api.flickr.com/services/rest/flickr.photos.getInfo&photo_id=%@&format=json&nojsoncallback=1&extras=original_format,tags,description,geo,date_upload,owner_name&page=1&method=flickr.photos.search", photoID]; 

     NSLog(@"output=%@",[self executeFlickrFetch:request]); 
    return [[[self executeFlickrFetch:request]valueForKey:@"photos.photo"]lastObject]; 

} 

executeFlickrFetch方法:

+ (NSDictionary *)executeFlickrFetch:(NSString *)query 
{ 
    query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1&api_key=%@", query, FlickrAPIKey]; 
    query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSStringFromSelector(_cmd), query); 
    NSData *jsonData = [[NSString stringWithContentsOfURL:[NSURL URLWithString:query] encoding:NSUTF8StringEncoding error:nil] dataUsingEncoding:NSUTF8StringEncoding]; 
    NSError *error = nil; 
    NSDictionary *results = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil; 
    return results; 
} 

眼下这个调用返回null。我知道执行获取作品,因为它是由摄影师或地点获取照片。只需要找出照片ID。

回答

0

这是正确的请求:

NSString *request=[NSString stringWithFormat:@"http://api.flickr.com/services/rest/?method=flickr.photos.getInfo&photo_id=%@&format=json&nojsoncallback=1&extras=original_format,tags,description,geo,date_upload,owner_name&page=1", photoID];