iOS FB图形api大规模访问相册图片

时间:2013-12-17 07:04:34

标签: ios iphone objective-c facebook facebook-graph-api

我使用以下图表查询获取数组数量

"me?fields=albums.fields(id,name)"

之后我想要获取与每张专辑相关的照片,我正在使用

NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,picture)", albumID]; 

通过使用这个我得到每张专辑的照片。但体积小。 我想要大尺寸的照片

为此我搜索过,我得到了这个

[facebook requestWithGraphPath:@"me?fields=id,first_name,last_name,picture.type(large),gender,email" andDelegate:self];

但我认为这适用于我的所有照片。我需要按专辑ID访问照片。 请帮我解决如何编写查询以按专辑ID获取大尺寸照片。

我试过这个 NSString * graphPath = [NSString stringWithFormat:@"%@?fields=photos.fields(id,link,picture.type(large))", albumID];  但没有结果。

提前致谢。

2 个答案:

答案 0 :(得分:5)

最后我得到了答案,花了我6个小时:( 检查以下查询。 NSString * graphPath = [NSString stringWithFormat:@“%@?fields = photos.fields(id,link, source )”,albumID];

只有我们需要替换来源来代替图片。 因此它将返回原始大小的原始图像。

答案 1 :(得分:1)

       NSString *albumUrl=[NSString stringWithFormat:@"https://graph.facebook.com/%@/photos?type=album&access_token=%@",albumId,fbAccessToken];

       NSLog(@"path %@",albumUrl);
       NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:albumUrl]];
       NSURLResponse *response = nil;
       NSError *error= nil;
       NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
       NSString *responseString1 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
       NSLog(@"data is: %@",[responseString1 JSONValue]);

您可以在控制台中看到输出,您将找到不同高度和大小的图像。你可以选择想要的那个。

控制台在示例相册ID中显示以下示例照片:

 {
        "created_time" = "2013-08-08T06:58:29+0000";
        from =             {
            id = 100004738364054;
            name = "Rtpl Dev";
        };
        height = 183;
        icon = "https://fbstatic-a.akamaihd.net/rsrc.php/v2/yz/r/StEh3RhPvjk.gif";
        id = 196228140545130;
        images =             (
                            {
                height = 183;
                source = "https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-frc3/1157748_196228140545130_1027750180_n.jpg";
                width = 275;
            },
                            {
                height = 183;
                source = "https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-frc3/q71/1157748_196228140545130_1027750180_n.jpg";
                width = 275;
            },
                            {
                height = 119;
                source = "https://fbcdn-photos-a-a.akamaihd.net/hphotos-ak-frc3/1157748_196228140545130_1027750180_a.jpg";
                width = 180;
            },
                            {
                height = 86;
                source = "https://fbcdn-photos-a-a.akamaihd.net/hphotos-ak-frc3/1157748_196228140545130_1027750180_s.jpg";
                width = 130;
            },
                            {
                height = 86;
                source = "https://fbcdn-photos-a-a.akamaihd.net/hphotos-ak-frc3/s75x225/1157748_196228140545130_1027750180_s.jpg";
                width = 130;
            }
        );