FBSDK (New Facebook SDK 4.0) Implementation is not working for Login with Facebook

后端 未结 5 2042
予麋鹿
予麋鹿 2021-01-01 19:35

I am using this following block which is mentioned in Facebook Developer. But when my App callbacks from Browser then it

相关标签:
5条回答
  • 2021-01-01 20:18

    You use this simple block with your expected requirements

    if ([FBSDKAccessToken currentAccessToken])
    {
          [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
                     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error)
           {
               if (!error)
               {
                //  NSDictionary *dictUser = (NSDictionary *)user;
                // This dictionary contain user Information which is possible to get from Facebook account.
               }
            }];
    }
    

    Access Token you will get only and only after successfully login

    Hope this will help you

    0 讨论(0)
  • 2021-01-01 20:27

    For me, the following line caused isCancelled to always be true... idk why

    [login logInWithReadPermissions:@[@"public_profile", @"email", @"gender"] 
    

    After changing to this... it worked

    [login logInWithReadPermissions:@[@"public_profile"] 
    
    0 讨论(0)
  • 2021-01-01 20:28

    You must add the following method in your appDelegate

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
        return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                              openURL:url
                                                    sourceApplication:sourceApplication
                                                           annotation:annotation];
    }
    

    If the above method is not present into AppDelegate then it results into cancelled state.

    Refer to : https://developers.facebook.com/docs/ios/getting-started#startcoding

    0 讨论(0)
  • 2021-01-01 20:34

    You cant get Email id from Facebook Login....why???

    If your Facebook account registered using "Mobile Number", and you do not have Email in same account.

    Check this scenario. This might be happening, We cant blame for it to FBSDK.

    Hope this will clear some points.

    0 讨论(0)
  • 2021-01-01 20:35

    To get user profile try this

    if ([FBSDKAccessToken currentAccessToken])
                    {
                        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
                         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error)
                         {
                             if (!error) {
                                 NSDictionary *dictUser = (NSDictionary *)user;
                                 self.txfName.text      = [dictUser objectForKeyNotNull:@"name"];
                                 self.txfEmail.text     = [dictUser objectForKeyNotNull:@"email"];
                                 self.txfUserName.text  = [[dictUser objectForKey:@"first_name"] lowercaseString];
                                 NSLog(@"image : https://graph.facebook.com/%@/picture?type=small",[dictUser objectForKeyNotNull:@"id"]);
                             }
                         }];
                    }
    

    Hope this would help you

    0 讨论(0)
提交回复
热议问题