【问题标题】:Not getting all the photos user is tagged in facebook没有得到所有照片用户在 facebook 中被标记
【发布时间】:2011-09-24 11:09:38
【问题描述】:

我正在将我的结果与图形 API 资源管理器进行比较。我有一个虚拟帐户,里面有我的 6 张标记照片。 从使用 FBGraph 的 iOs 我获得具有“user_photos”权限的访问令牌

在给我打电话/照片时,我只得到一张照片。

如果我从具有相同“user_photos”权限的图形 api 浏览器生成访问令牌,我会取回所有 6 张照片。

谁能告诉我为什么我没有得到我被标记的所有照片。

问候

【问题讨论】:

    标签: iphone ios facebook-graph-api facebook


    【解决方案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;
    

    }

    你会得到一个由 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;
    

    }

    然后检查每个相册,哪些是您需要的照片。 希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多