2

我是iphone开发者的初学者。我想通过 facebook 登录我的应用程序。我有使用 facebook 图形 API。我已经通过了 doGraphGet 方法,但它没有提供电子邮件 ID 和密码。我正在使用下面的代码..

-(IBAction)getMeButtonPressed:(id)sender {
    FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me" withGetVars:nil];
    NSLog(@"getMeButtonPressed:  %@", fb_graph_response.htmlResponse);

}

它返回的响应

id、firstname、lastname、name、link、username、gender 但它不提供电子邮件 ID 和密码

所以,给出适用于我的代码的任何建议和源代码..

4

1 回答 1

3

为此,首先您需要询问用户权限,并为 Facebook Api 设置不同的权限。

看看下面的权限:

arrFBPermission = [[NSArray arrayWithObjects:
                        @"email",
                        @"user_birthday",
                        @"user_likes",
                        @"user_location",
                        @"user_photos",
                        @"read_stream",                            
                        @"status_update",
                        @"user_about_me",
                        @"read_friendlists",
                        @"friends_about_me",
                        @"friends_birthday",
                        @"friends_photos",
                        nil] retain];

然后,根据最新的 facebook SDK,您可以使用如下登录方法:

[FBSession openActiveSessionWithReadPermissions:arrFBPermission
                                       allowLoginUI:YES
                                  completionHandler:
                                                 ^(FBSession *session,
                                                   FBSessionState state,
                                                   NSError *error) {
                                                     [self sessionStateChanged:session state:state error:error];
                                                 }];

登录成功后,会调用下面的委托方法:

- (void)sessionStateChanged:(FBSession *)session
                  state:(FBSessionState) state
                  error:(NSError *)error
{
}

并且 facebook api 不会为您提供密码。

希望,你会获得成功。

快乐编码!

干杯!

于 2013-02-07T06:27:58.133 回答