这是我的代码,用于获取代表用户Graph的整个字典:

 if (FBSession.activeSession.isOpen) {
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection,
           NSDictionary<FBGraphUser> *user,
           NSError *error) {
             if (!error) {
                 NSLog(@"%@",user);//Displayed with the gender
                 NSLog(@"%@",user.name);//Name only displayed
                 NSLog(@"%@",user.gender);//Build error
             }
         }];
    }


我很想知道性别数据有什么问题,为什么在字典中找不到该数据,实际上,我遇到了构建错误:

property 'gender' not found on object of type 'NSDictionary<FBGraphUser> *'

最佳答案

Facebook并未针对“ requestForMe”发送性别信息。
为了获得性别发送请求,如下所示:

NSDictionary* params = [NSDictionary dictionaryWithObject:@"id,gender,name, whatever you like" forKey:@"fields"];

[[FBRequest requestWithGraphPath:[NSString stringWithFormat:"%d",myUserId] parameters:params HTTPMethod:nil] startWithCompletionHandler:...


我不确定,但我认为您也可以将图形路径设置为@“ me”而不是用户ID。

关于ios - 无法获取用户的性别:类型为“NSDictionary <FBGraphUser> *”的对象上找不到属性“gender”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13220141/

10-11 23:47