使用 Facebook Graph Api 在 iphone 中解析新闻提要响应

Posted

技术标签:

【中文标题】使用 Facebook Graph Api 在 iphone 中解析新闻提要响应【英文标题】:News Feed Response parsing in iphone using Facebook Graph Api 【发布时间】:2011-04-19 05:45:55 【问题描述】:

我正在使用 Facebook Graph API...用于获取 facebook 个人资料的新闻提要数据..

这是我在控制台中得到的响应

    
    application =         
        id = 2309869772;
        name = Links;
    ;
    "created_time" = "2011-02-10T09:44:27+0000";
    from =         
        id = 1845195019;
        name = "Paritosh Raval";
    ;
    icon = "http://static.ak.fbcdn.net/rsrc.php/v1/yD/r/aS8ecmYRys0.gif";
    id = "1845195019_192144087475935";
    likes =         
        count = 1;
        data =             (
                            
                id = 1845195019;
                name = "Paritosh Raval";
            
        );
    ;
    link = "http://www.facebook.com/AMDAVAD";
    name = "once you live in AHMEDABAD u cannot live anywhere else in the world..";
    picture = "http://profile.ak.fbcdn.net/hprofile-ak-snc4/203562_115963658443669_4129246_n.jpg";
    properties =         (
                    
            name = Page;
            text = "21,803 people like this.";
        
    );
    type = link;
    "updated_time" = "2011-02-10T09:44:27+0000";
,
    
    application =         
        id = 2392950137;
        name = Video;
    ;
    "created_time" = "2011-02-02T04:18:22+0000";
    description = "must watch and explore :))";
    from =         
        id = 1845195019;
        name = "Paritosh Raval";
    ;
    icon = "http://static.ak.fbcdn.net/rsrc.php/v1/yD/r/aS8ecmYRys0.gif";
    id = "1845195019_194836027209359";
    likes =         
        count = 1;
        data =             (
                            
                id = 100000701228096;
                name = "Bhargav Jani";
            
        );
    ;
    link = "http://www.facebook.com/video/video.php?v=152586058110610&comments";
    name = "It Happens Only in....";
    "object_id" = 152586058110610;
    picture = "http://vthumb.ak.fbcdn.net/hvthumb-ak-snc4/50893_152586468110569_152586058110610_18299_1832_t.jpg";
    properties =         (
                    
            name = Length;
            text = "0:54";
        
    );
    source = "http://video.ak.fbcdn.net/cfs-ak-ash2/70137/56/152586058110610_53804.mp4?oh=481e53b824f6db8e3195fc9c0d07571d&oe=4DAFC300&__gda__=1303364352_7670272db65e93ec75dcaaed16b6d805";
    type = video;
    "updated_time" = "2011-02-02T04:18:22+0000";

我想在控制台中显示组织结构中的每个数据。谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

不清楚你到底在问什么,但我试着回答一下。

首先你需要在方法中解析这个响应 - (void)request:(FBRequest *)request didLoad:(id)result of Facebook ios SDK

result 可以是一个字符串,如果你有多个结果和 NSDictionary,则可以是一个 NSArray

在您的控制台输出中,我们可以看到包含数组和字典的 NSDictionary。 我几乎没有关于它的教程,但它仅在俄文上,并且网站今天已关闭:(所以我只是从我的文章中复制一个示例。

假设我们想知道 Facebook 用户喜欢什么

- (IBAction)getUserInfo:(id)sender 
  [_facebook requestWithGraphPath:@"me/likes" andDelegate:self];

如果我们在浏览器中尝试这个 Graph API 响应或输出到控制台,我们可以看到这个请求返回什么。它返回带有唯一键的字典 - “数据”和与该键对应的数组。此数组内容字典对象再次使用键 - «名称»,"类别","id","created_time"。之前不要忘记请求«user_likes»权限。 所以我们有这样的解析方法:

- (void)request:(FBRequest *)request didLoad:(id)result 
    if ([result isKindOfClass:[NSArray class]]) 
        result = [result objectAtIndex:0];
    
    if ([result objectForKey:@"owner"]) 
        [self.label setText:@"Photo upload Success"];
     else if ([result objectForKey:@"data"])
        NSArray *likes = [result objectForKey:@"data"];
        NSString *text=@"You don't like Steve";
        for (NSDictionary* mylike in likes) 
            NSString *mylikeName = [mylike objectForKey:@"name"];
            if ([mylikeName isEqualToString:@"Steve Jobs"]) 
                text=@"You like Steve";
                break;
            
        
        [self.label setText:text];
    
;

您可以以相同的方式解析结果并填充对象的变量,然后使用它在 TableView 中显示信息。祝你好运!

【讨论】:

。谢谢..你能给我那个网站的链接吗?我也改天去看看 本文没有更多的解析示例。这只是使用 Facebook SDK 的初学者教程。无论如何...habrahabr.ru/blogs/macosxdev/116417

以上是关于使用 Facebook Graph Api 在 iphone 中解析新闻提要响应的主要内容,如果未能解决你的问题,请参考以下文章

将照片上传到 facebook 群组 Graph API

Facebook Graph API 与喜欢的帖子不同

使用 cURL PHP / Graph API 在 Facebook 中回复评论

使用 Facebook Graph API 搜索用户

如何使用 Facebook GRAPH API 删除 Facebook 评论帖子?

Android Facebook Graph API