如何在iOS设备上获取Facebook相册?

5
我正在向Facebook发出以下简单请求。我的目标是获取用户所有照片集的名称:
[[AppDelegate sharedDelegate].facebook requestWithGraphPath:@"me/albums" andDelegate:[AppDelegate sharedDelegate]];

然后,服务器返回一个类似如下的JSON响应:
data =     (
            {
        "can_upload" = 1;
        count = 4;
        "cover_photo" = 321491374598618;
        "created_time" = "2012-06-04T21:46:23+0000";
        from =             {
            id = 100002132746588;
            name = "Owner....";
        };
        id = 321491371265285;
        link = "http://www.facebook.com/album.php?fbid=321491371265285&id=100002132746588&aid=73680";
        name = "Photos";
        privacy = custom;
        type = normal;
        "updated_time" = "2012-06-04T22:08:39+0000";
    },
            {
        "can_upload" = 0;
        count = 1;
        "cover_photo" = 318401854907570;
        "created_time" = "2012-05-31T00:00:35+0000";
        description = "Which Friend Stalks You the Most?";
        from =             {
            id = 100002132746588;
            name = "Owner....";
        };
        id = 318401848240904;
        link = "http://www.facebook.com/album.php?fbid=318401848240904&id=100002132746588&aid=73163";
        name = "Which Friend Stalks You the Most?";
        privacy = friends;
        type = normal;
        "updated_time" = "2012-05-31T00:00:36+0000";
    },

等等。问题是,当我尝试使用以下方式解析数据时:

NSLog(@"%@", [result objectForKey:@"name"]);

我得到了null。我认为这是因为返回数据的NSDictionary不知道要集中哪个name条目。我该如何解析数据以获取所有专辑的名称?


阅读我的答案,也许可以得到你的解决方案.....https://dev59.com/VF0a5IYBdhLWcg3wipNA#31789234 - Maulik shah
1个回答

3
"result" 实际上是一个字典数组,因此需要循环遍历该数组并从每个元素中获取名称。
for (NSDictionary *anAlbum in [result objectForKey:@"data"]) {
    NSLog(@"%@", [anAlbum objectForKey:@"name"]);
}

感谢您的回应。我尝试了您上面的代码,并且非常合理,但是我收到了以下错误:[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x898d320。看起来解析时,每个字典实际上是一个 NSCFString - The Kraken
2012-06-05 17:46:42.626 App[19857:707] data 2012-06-05 17:46:42.627 App[19857:707] paging - The Kraken
就是这样。如果您查看原始 JSON 文本,您可以看到 "data" 包含在响应的顶部,而所有我请求的实际信息都包含在其中。 - The Kraken
我想我可以尝试使用SBJSON来解析它。 - The Kraken
1
非常完美,感谢您的帮助 - 我非常感激。如果您有任何空闲时间来检查另一个与FB相关的问题,我在这里发布了一个:http://stackoverflow.com/questions/10905615/ios-facebook-sdk-keeps-giving-same-request-url。再次感谢! - The Kraken
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接