您不会从相册中获取照片,而只会获取非相册中的照片。
获取专辑列表,像这样,
- (NSMutableArray*)getAlbums{
NSLog(@"get pictures");
NSMutableArray* _albums = [[NSMutableArray alloc] init];
NSString* requestString = [NSString stringWithFormat:@"%@/%@/albums?access_token=%@",FACEBOOK_GRAPH_URL,[defaults valueForKey:@"facebook_id"],[defaults objectForKey:@"FBAccessTokenKey"]];
ASIHTTPRequest* request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:requestString]];
[request startSynchronous];
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *dddd = (NSDictionary *) [parser objectWithString:[request responseString] error:nil];
NSDictionary *data = [dddd objectForKey:@"data"];
for(NSDictionary* k in data){
NSLog(@"album %@, count %@",[k valueForKey:@"id"],[k valueForKey:@"count"]);
if([k valueForKey:@"count"] && [[k valueForKey:@"count"] intValue] > 0)
[_albums addObject:[NSMutableDictionary dictionaryWithDictionary:k]];
}
for(NSMutableDictionary* album in _albums){
NSMutableArray* a = [self getPicturesForAlbum:[album valueForKey:@"id"]];
[album setValue:a forKey:@"photos"];
}
return _albums;
}
你会得到一个由 NSDictionaries 组成的 NSArray,并且在每个照片数组中作为字典,就像你在上面描述的函数中从 facebook 获取它们一样。
- (NSMutableArray*)getPicturesForAlbum:(NSString*)albumNo{
NSLog(@"get pictures");
NSMutableArray* pics = [[NSMutableArray alloc] init];
NSString* requestString = [NSString stringWithFormat:@"%@/%@/photos?access_token=%@",FACEBOOK_GRAPH_URL,albumNo,[defaults objectForKey:@"FBAccessTokenKey"]];
ASIHTTPRequest* request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:requestString]];
[request startSynchronous];
SBJSON *parser = [[SBJSON alloc] init];
NSDictionary *dddd = (NSDictionary *) [parser objectWithString:[request responseString] error:nil];
NSDictionary *data = [dddd objectForKey:@"data"];
for(NSDictionary* k in data){
for(id i in [k allKeys]){
if([i isEqualToString:@"source"]){
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
[dict setValue:[k valueForKey:i] forKey:@"photo"];
[dict setValue:[k valueForKey:@"created_time"] forKey:@"created_time"];
[dict setValue:[k valueForKey:@"picture"] forKey:@"thumb"];
if([k valueForKey:@"name"])
[dict setValue:[k valueForKey:@"name"] forKey:@"name"];
[pics addObject:dict];
}
}
}
return pics;
}
然后检查每个相册,哪些是您需要的照片。
希望对您有所帮助。