【发布时间】:2014-05-21 12:10:49
【问题描述】:
所以我得到了使用讲师创建的 flickr API 的任务,我们必须使用它来填充特定用户的表格视图。我可以计算元素的数量等,但我一生都无法弄清楚如何实际调用这对图像/照片元素?
这是代码:
- (NSArray *) photosForUser: (NSString *) friendUserName
{
NSString *request = [NSString stringWithFormat: @"https://api.flickr.com/services/rest/?method=flickr.people.findByUsername&username=%@", friendUserName];
NSDictionary *result = [self fetch: request];
NSString *nsid = [result valueForKeyPath: @"user.nsid"];
request = [NSString stringWithFormat: @"https://api.flickr.com/services/rest/?method=flickr.photos.search&per_page=%ld&has_geo=1&user_id=%@&extras=original_format,tags,description,geo,date_upload,owner_name,place_url", (long) self.maximumResults, nsid];
result = [self fetch: request];
return [result valueForKeyPath: @"photos.photo"];
}
什么是用来获取数据的:
- (NSDictionary *) fetch: (NSString *) request
{
self.apiKey = @"26225f243655b6eeec8c15d736b58b9a";
NSLog(@"self.APIKey = %@", self.apiKey);
NSString *query = [[NSString stringWithFormat: @"%@&api_key=%@&format=json&nojsoncallback=1", request, self.apiKey]
stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURL *queryURL = [NSURL URLWithString: query];
NSData *responseData = [NSData dataWithContentsOfURL: queryURL];
if (!responseData)
return nil;
NSError *error = nil;
NSDictionary *jsonContent = [NSJSONSerialization JSONObjectWithData: responseData options: NSJSONReadingMutableContainers error: &error];
if (!jsonContent)
NSLog(@"Could not fetch '%@': %@", request, error);
return jsonContent;
}
谁能给我任何关于如何实际调用图像的指示?
非常感谢。
编辑:这是从 flickr API 接收的 JSON 数组中内容的 NSLog 输出。
latestPhotos (
{
accuracy = 16;
context = 0;
dateupload = 1397679575;
description = {
"_content" = "<a href=\"https://www.flickr.com/photos/tanjabarnes/\">
};
farm = 3;
"geo_is_contact" = 0;
"geo_is_family" = 0;
"geo_is_friend" = 0;
"geo_is_public" = 1;
id = 13902059464;
isfamily = 0;
isfriend = 0;
ispublic = 1;
latitude = "34.062214";
longitude = "-118.35862";
owner = "66956608@N06";
ownername = Flickr;
"place_id" = "I78_uSpTWrhPjaINgQ";
secret = cc17afe1b3;
server = 2928;
tags = "panorama losangeles beverlyhills tanjabarnes";
title = blahlbah
woeid = 28288701;
}
)
【问题讨论】:
-
感谢您的链接,但我认为我需要利用所提供的内容。
-
你得到了无效的 JSON,你用错误的 API 传递了服务器,检查一下
-
对不起,我不太清楚你的意思,你能解释一下吗?干杯
-
你的编码很好,但是你从服务器得到了无效的响应,你想检查你的响应复制你的结果并粘贴到jsonviewer.stack.hu这里并检查