我将我的结果与图表api资源管理器进行比较。我有一个虚拟账户,里面有6张标记的照片。 从使用FBGraph的iO获取具有“user_photos”权限的访问令牌
在给我/照片打电话时,我只收到一张照片。
如果我使用相同的“user_photos”权限从图形api资源管理器生成访问令牌,我会收回所有6张照片。
任何人都可以告诉我为什么我没有得到我标记的所有照片。
此致
答案 0 :(得分:1)
你没有从相册中获取照片,而是只获得了未经照相的照片。 获取相册列表,如下所示,
- (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;
}
你会得到一个NSDrray的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;
}
然后检查每张专辑,其中包含您需要的照片。 希望有所帮助。