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

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

【问题讨论】:

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

标签: ios facebook facebook-ios-sdk


【解决方案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 请检查资源管理器并确认您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 2011-11-13
相关资源
最近更新 更多