Ne pouvez pas obtenir les autorisations pour user_birthday et user_hometown dans facebook-ios sdk
Je ne suis pas en mesure d'obtenir les autorisations pour user_birthday et user_hometown.
Je l'ai essayé avec ce code mais il demande seulement pour l' profil public et ignore les autres.
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile",@"user_birthday",@"user_hometown"]
allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if (error) {
NBAppDelegate* appDel = (NBAppDelegate*)`[UIApplication sharedApplication].delegate;
[appDel sessionStateChanged:session state:status error:error];
}
if ([session isOpen]) {
[self loginWithFBToken:session name:sender];
}
}];
Puis quelqu'un a suggéré de demander des autorisations supplémentaires après l'obtention du profil public, donc j'ai même essayé à rien de bon.
Voici le code pour que
- (void)loadFbDetails
{
NSArray *permissionsNeeded = @[@"user_hometown", @"user_birthday"];
//Request the permissions the user currently has
[FBRequestConnection startWithGraphPath:@"/me/permissions"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error){
//These are the current permissions the user has:
NSDictionary *currentPermissions= [(NSArray *)[result data] objectAtIndex:0];
//We will store here the missing permissions that we will have to request
NSMutableArray *requestPermissions = [[NSMutableArray alloc] initWithArray:@[]];
//Check if all the permissions we need are present in the user's current permissions
//If they are not present add them to the permissions to be requested
for (NSString *permission in permissionsNeeded){
if (![currentPermissions objectForKey:permission]){
[requestPermissions addObject:permission];
}
}
//If we have permissions to request
if ([requestPermissions count] > 0){
//Ask for the missing permissions
[FBSession.activeSession
requestNewReadPermissions:requestPermissions
completionHandler:^(FBSession *session, NSError *error) {
if (!error) {
//Permission granted
NSLog(@"new permissions %@", [FBSession.activeSession permissions]);
//We can request the user information
[self makeRequestForUserData];
} else {
//An error occurred, we need to handle the error
//See: https://developers.facebook.com/docs/ios/errors
}
}];
} else {
//Permissions are present
//We can request the user information
[self makeRequestForUserData];
}
} else {
//An error occurred, we need to handle the error
//See: https://developers.facebook.com/docs/ios/errors
}
}];
}
-(void)makeRequestForUserData
{
[FBRequestConnection startWithGraphPath:@"me?fields=birthday,hometown"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
//Sucess! Include your code to handle the results here
NSLog(@"user events: %@", result);
} else {
NSLog(@"error: %@" , error);
}
}];
}
Il n'est de manière récursive entre mon application ios et le fb app native, retour uniquement avec le public_profile dans les autorisations de tableau.
On dirait que je suis absent quelque chose?
Cela fonctionne si vous utilisez l'administrateur de votre FB app?
je suis le développeur(pas l'admin?), j'ai utilisé ce compte? pensez-vous que c'est ce genre de problème? et ne pas avoir quelque chose de mal code sage?
je suis le développeur(pas l'admin?), j'ai utilisé ce compte? pensez-vous que c'est ce genre de problème? et ne pas avoir quelque chose de mal code sage?
OriginalL'auteur Kashif Zaidi | 2014-07-21
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner si vous utilisez un utilisateur administrateur de l'application. Une fois que vous souhaitez utiliser l'étendue des autorisations avec d'autres utilisateurs, vous devez obtenir votre application examiné par Facebook en premier.
Voir ma réponse ici: facebook étendue de l'autorisation
OriginalL'auteur Tobi
Facebook n'autorise pas les applications à accéder à ces informations par défaut. Vous devez demander la permission à Facebook pour vous d'être en mesure d'utiliser cette information. Ajouter une vidéo et les instructions pour une Facebook les employés d'examiner la façon dont vous utilisez d'anniversaire et la ville natale d'intel.
OriginalL'auteur Rodrigo García