[英]Making a GET rest call for flickr api from xcode
我正在嘗試使用來自應用程序的flickr.photos.getInfo方法進行GET調用。 目標是使用其ID獲取有關照片的信息。
我的方法:
+(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。 我知道執行抓取工作是因為它是由攝影師或地方來抓取照片的。 只需找出照片的身份證即可。
這是正確的要求:
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];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.