如何从原生 iOS Facebook SDK 获取用户兴趣?

Posted

技术标签:

【中文标题】如何从原生 iOS Facebook SDK 获取用户兴趣?【英文标题】:How to get user interests from the native iOS Facebook SDK? 【发布时间】:2012-10-28 07:56:02 【问题描述】:

我一直在阅读文档,但找不到任何东西。对于名称、id 等其他属性,它们在 FBGraphUser 类中可用。我需要的是用户的兴趣列表。我相信我必须使用 FBGraphObject 类,但我不确定如何去做。任何指导将不胜感激。谢谢!

【问题讨论】:

你在寻找我/兴趣的等价物吗? 我正在通过 Objective-C 库寻找某种本机方法。 您能否提供更多关于兴趣列表含义的信息,即如果您使用 Graph API 资源管理器进行 Graph API 调用,那么等效调用是什么? 这和你之前说的差不多。 /friend_id/interests/access_id 找到任何解决方案了吗? 【参考方案1】:

me/interests 是您获取用户兴趣的方式。如果你正在寻找其他人,比如用户的朋友,那么 id/interests

这取决于正在登录的用户

-(void)fbRequest

[FBRequestConnection startWithGraphpath:@"me/interests" completionHandler:^(FBRequestConnection *connection,NSDictionary<FBGraphObject> *result,NSError *error)

        if(!error)
            NSArray *data = [result objectForKey:@"data"];
            [self updateInterests:data];


        else

        
    ];



-(void)updateInterests:(NSArray*)interests

NSString *str = self.groupList.text;

for(FBGraphObject <FBGraphUser>*interest in interests) //Using FBGraphUser because it implements name though I'd love to use something else


    str = [str stringByAppendingFormat:@"%@\n",interest.name ];

[self.groupList setText:str];


上述方法的替代方法不依赖于graphuser有名字的巧合,所以这里是

-(void)updateInterests:(NSArray*)interests

NSString *str = self.groupList.text;

for(FBGraphObject *interest in interests) //Using FBGraphUser because it implements name though I'd love to use something else


    str = [str stringByAppendingFormat:@"%@\n",[interest objectForKey:@"name"] ];

[self.groupList setText:str];


【讨论】:

注意:self.groupList 只是一个uiLabel。 我/兴趣现在不起作用?对于同一问题,您有任何替代解决方案 我实际上只是在图形资源管理器中运行我/兴趣与 2.1 api 并获得了结果...developers.facebook.com/tools/explorer 请检查资源管理器并确认您的问题。

以上是关于如何从原生 iOS Facebook SDK 获取用户兴趣?的主要内容,如果未能解决你的问题,请参考以下文章

我如何从 facebook 公开资料 Facebook IOS Swift SDK 中获取性别

如何从 iOS 上的 Facebook SDK 获取用户数据

如何从 iOS 中的 Facebook SDK 获取用户信息?

从 Facebook SDK 获取数据到 iOS 应用

Facebook iOS SDK 3.2 获取用户新闻提要

iOS Facebook SDK 原生分享