我想从flickr应用程序中检索Recent Activity图像,请任何人建议我如何检索它。提前谢谢。
答案 0 :(得分:0)
这不是最好的方法,但我会为您提供一种在flickr上检索最近图片的方法。 Standford iTunesU有一些与此相关的讲座。我从他们那里得到了几乎所有的信息。以下是课程材料的链接:
http://www.stanford.edu/class/cs193p/cgi-bin/drupal/
对于基本的非多线程版本,请参阅第10讲,并下载 Shutterbug Universal 。您还需要一个flickr API密钥,您现在可以在此处获取:
http://www.flickr.com/services/api/misc.api_keys.html
我将尝试为您概述如何完成您的请求,特别是因为这些链接中的任何一个可能不会存在很长时间。
您需要创建一个类FlickrFetcher
或其他东西,然后使用公共类方法
+ (NSArray *)latestGeoreferencedPhotos;
实施
+ (NSArray *)latestGeoreferencedPhotos
{
NSString *request = [NSString stringWithFormat:@"http://api.flickr.com/services/rest/?method=flickr.photos.search&per_page=500&license=1,2,4,7&has_geo=1&extras=original_format,tags,description,geo,date_upload,owner_name,place_url"];
return [[self executeFlickrFetch:request] valueForKeyPath:@"photos.photo"];
}
实施executeFlickrFetch
的地方:
+ (NSDictionary *)executeFlickrFetch:(NSString *)query
{
query = [NSString stringWithFormat:@"%@&format=json&nojsoncallback=1&api_key=%@", query, FlickrAPIKey];
query = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
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;
if (error) NSLog(@"[%@ %@] JSON error: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), error.localizedDescription);
return results;
}
您需要获取API密钥并定义它(#define FlickrAPIKey @"myAPIkey"
)或直接将其插入此处。
在斯坦福大学课程中,他们从TVC子类中调用latestGeoreferencedPhotos
并在viewDidLoad
中设置一系列照片:
// photos is a defined property
self.photos = [FlickrFetcher latestGeoreferencedPhotos];
然后在照片设定器中,他们重新加载一个显示图像的tableView:
- (void)setPhotos:(NSArray *)photos
{
_photos = photos;
[self.tableView reloadData];
}
photos
现在是一个字典数组,您可以通过以下操作访问特定的图像数据:
return [self.photos[row][@"title"] description]; // description because could be NSNull
我确实找到了一个可能很有价值的github资源: https://github.com/lukhnos/objectiveflickr。 我没有多看,但可能值得一试!
您的问题没有提供太多细节,所以我希望这个答案足以满足您的需求。