Kullanıcı zaman tüneli için Besleme almayı deniyorum. user_posts
dahil olmak üzere okuma izinlerini aktardığım bir giriş düğmem var. Şaşırtıcı bir şekilde, Facebook bana bu izni vermez ve göz ardı eder.Facebook SDK 4.x İzin sorunu iOS
Kodu:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends", @"user_posts"];
self.loginButton.delegate = self;
if([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Have access token");
NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions);
[self retrieveFeed];
}
}
#pragma mark - Login Delegate
-(void) loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error
{
NSLog(@"Login Successfully!!");
NSLog(@"permissions .... %@",[FBSDKAccessToken currentAccessToken].permissions);
[self retrieveFeed];
}
-(void) loginButtonDidLogOut:(FBSDKLoginButton *)loginButton
{
}
#pragma mark - Receive FB Feed
-(void) retrieveFeed
{
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/feed" parameters:nil];
FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
[connection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@",result);
if(error)
NSLog(@"Some error FEED;;;;;; %@",error.localizedDescription);
}];
[connection start];
}
giriş düğmesi tıklandığında, ben izinler ekranı aşağıdaki almak. Facebook user_posts
iznini yok saydı.
, Facebook böyle izin verildi olmasa bile zaten, bu yüzden yapmaya uygulamayı yetki vermiş söylüyor! Yeni izin almanın kodu:
-(void) checkForFeedPermission
{
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"user_posts"]) {
NSLog(@"already granted feed access");
[self retrieveFeed];
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithReadPermissions:@[@"user_posts"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
NSLog(@"requesting feed access");
[self retrieveFeed];
}];
}
}
Bu konuda başımı üç gün boyunca becermeye başladım. Lütfen bana nerede yanlış olabileceğimi öner? Teşekkürler.
Yani, facebook incelemesi olmadan herhangi bir izin alamayacağım anlamına gelir ?? – NightFury
Evet. İncelenmesi gereken izinler genellikle 3 iş günü içinde incelenir. Bazı izinlerin incelenmesi 7 gün kadar sürebilir ve referansta bu şekilde işaretlenir. Gözden Geçirmeyi Gerektirmeyen İzinler: Genel profil (varsayılan) izinleri, Uygulama arkadaşları, E-posta izinleri. – Tanuj
, user_post –