0

これは、ユーザーグラフを表す辞書全体を取得するための私のコードです:

 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> *'
4

2 に答える 2

9

あなたが使用することができます[user objectForKey:@"gender"];

于 2013-02-25T12:03:23.790 に答える
7

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:...

よくわかりませんが、ユーザーIDの代わりに@"me"をグラフパスとして設定することもできると思います。

于 2012-11-04T17:17:29.770 に答える