Je suis nouveau au développement de l'iPhone. Je fais une application où l'utilisateur a 2 login via Facebook, une fois qu'il soumet ses informations d'identification et clique sur le bouton Connexion, je dois chercher des détails tels que le prénom, le courrier électronique et le sexe de Facebook et après la récupération de l'utilisateur doit être dirigé. à la page d'inscription de l'application avec les détails remplis et j'ai besoin de cette application pour être compatible pour iPhone 4,4S et 5. P>
J'ai essayé de faire cela à l'aide de l'API de graphique Facebook mais je ne pouvais donc pas l'obtenir, alors tout le monde peut m'aider. P>
Merci d'avance. P>
7 Réponses :
Veuillez vous référer à ces liens suivants, Sothat, vous pouvez avoir une idée. P>
https://www.parse.com/tatudials/integrat-facebook -in-ios p>
Facebook iOS 6 - Obtenez des informations utilisateur P>
Obtenez des données de profil de l'utilisateur Facebook Après avoir reçu un jeton d'accès dans iOS 5 p>
Afficher un utilisateur Nom du profil et image via l'instance Facebook pour iOS P>
Comment mettre en cache facebook utilisateur Info avec Facebook Connectez-vous dans IOS App P>
J'espère que cela vous aidera ... P>
Utilisez l'API FBConnect pour récupérer des informations utilisateur. Il est facile à utiliser p>
J'espère que cela fonctionne pour vous :) p>
Vous devez utiliser un chemin graphique pour obtenir des informations utilisateur.
-(void)getEmailId { [facebook requestWithGraphPath:@"me" andDelegate:self]; } - (void)openSession { if (internetActive) { NSArray *permissions=[NSArray arrayWithObjects:@"read_stream",@"email",nil]; [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler: ^(FBSession *session, FBSessionState state, NSError *error) { [self sessionStateChanged:session state:state error:error]; }]; }else { UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"" message:@"Internet Not Connected" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; } } #pragma mark- request delegate methods - (void)request:(FBRequest *)request didLoad:(id)result { NSLog(@"request did load successfully...."); // __block NSDictionary *dictionary=[[NSDictionary alloc] init]; if ([result isKindOfClass:[NSDictionary class]]) { NSDictionary* json = result; NSLog(@"email id is %@",[json valueForKey:@"email"]); NSLog(@"json is %@",json); [[NSUserDefaults standardUserDefaults] setValue:[json valueForKey:@"email"] forKey:@"fbemail"]; [self.viewController login:YES]; } } - (void)request:(FBRequest *)request didFailWithError:(NSError *)error { UIAlertView *alertView=[[UIAlertView alloc] initWithTitle:@"" message:@"Server not responding.." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; [self fblogout]; [self showLoginView]; NSLog(@"request did fail with error"); } - (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error { switch (state) { case FBSessionStateOpen: { //state open action } // Initiate a Facebook instance facebook = [[Facebook alloc] initWithAppId:FBSession.activeSession.appID andDelegate:nil]; // Store the Facebook session information facebook.accessToken = FBSession.activeSession.accessToken; facebook.expirationDate = FBSession.activeSession.expirationDate; if (![[NSUserDefaults standardUserDefaults] valueForKey:@"fbemail"]) { [MBProgressHUD showHUDAddedTo:self.viewController.view animated:YES]; [self getEmailId]; } break; case FBSessionStateClosed: case FBSessionStateClosedLoginFailed: // Once the user has logged in, we want them to // be looking at the root view. [self.navController popToRootViewControllerAnimated:NO]; [FBSession.activeSession closeAndClearTokenInformation]; facebook = nil; [self showLoginView]; break; default: break; } [[NSNotificationCenter defaultCenter] postNotificationName:FBSessionStateChangedNotification object:session]; if (error) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } }
Vous pouvez le faire en utilisant le code suivant: et n'a pas oublié d'importer EDIT: Mise à jour pour Facebook SDK V4 (23 avril, 2015) strong> P> Maintenant, Faceboook a publié une nouvelle SDK avec des modifications majeures. Dans lequel la classe de fabession est obsolète. Tous les utilisateurs sont donc suggéré de migrer vers de nouveaux SDK et API. p> ci-dessous j'ai mentionné, comment nous pouvons obtenir des informations sur les utilisateurs via Facebook SDK V4: P> facebooksdk / facebooksdk.h code> dans votre code. P>
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@âfetched user:%@â, result);
}
}];
}
Comment obtenir le numéro de téléphone utilisateur?
Il est toujours aléatoire dans FLBSessionStatecloseLoginFaillée ... pourquoi ...?
@Ramaniashishish: Cela peut être dû au problème de permission. Pour compléter l'intégration de Facebook, nous devons avoir une application de travail dans le développeur FB. Lorsque nous essayons d'utiliser les détails du compte utilisateur, il doit fournir la permission d'accéder à ses détails. Assurez-vous que toutes ces choses se passent parfaitement. Cela devrait fonctionner comme son travail pour beaucoup d'autres, y compris moi :)
Utilisez / moi code> et remplissez les paramètres
classé avec
{@ "champs": @ "ID, nom, e-mail"} code>.
FBRequest *request = [FBRequest requestForMe]; [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if (!error) { // handle successful response } else if ([error.userInfo[FBErrorParsedJSONResponseKey][@"body"][@"error"][@"type"] isEqualToString:@"OAuthException"]) { // Since the request failed, we can check if it was due to an invalid session NSLog(@"The facebook session was invalidated"); [self logoutButtonTouchHandler:nil]; } else { NSLog(@"Some other error: %@", error); } }];
Facebook a actuellement mis à jour sa version SDK à 4.x. Pour chercher des informations de profil de l'utilisateur, vous devez expliquer explicitement l'API de graphique après le succès de la connexion ( Demander des autorisations requises forte>). FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/me"
parameters:@{ @"fields": @"id,name,email"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
// Insert your code here
}];
Bienvenue à cela. Vous devez poster ce que vous avez essayé. Nous tenterons de vous aider, mais seulement après avoir montré que vous avez mis au moins un effort.