facebook 3.1 ios sdk'de yayınlama izinleriyle giriş yapmakta sorun yaşıyorum.Facebook iOS 3.1 sdk giriş izni ile giriş izni geri bildirimi
Uygulamamın bir videoyu paylaşmak için bir düğmesi var ve kullanıcı tıkladığında temel + yayınlama iznini eklemek istiyorum. Anlıyorum gibi, ben iki çağrıyı yapmak zorunda -
openActiveSessionWithReadPermissions
ve sonrareauthorizeWithPublishPermissions
İşte
şimdi kullanıyorum kodu: Görüyorum
//Opens a Facebook session and optionally shows the login UX.
- (void)openSessionForReadPermissions
{
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
//this is called even from the reauthorizeWithPublishPermissions
if (state == FBSessionStateOpen && !error)
{
[self openSessionForPublishPermissions];
}
else if (state == FBSessionStateClosedLoginFailed)
{
[FBSession.activeSession closeAndClearTokenInformation];
[[NSNotificationCenter defaultCenter] postNotificationName:FBLoginErrorNotification object:session];
}
}];
}
-(void)openSessionForPublishPermissions
{
NSArray* permissions = [NSArray arrayWithObject:@"publish_stream"];
[[FBSession activeSession] reauthorizeWithPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:
^(FBSession *session, NSError *error)
{
if (!error)
{
[[NSNotificationCenter defaultCenter]
postNotificationName:FBLoginSuccessNotification
object:session];
}
else
{
[[NSNotificationCenter defaultCenter]
postNotificationName:FBLoginErrorNotification
object:session];
}
}];
}
openSessionForReadPermissions içindeki blok, iki kez çağrılır (bir kez FBSessionStateOpen ile ve bir kez de openSessionForPublishPermissions çağrısından FBSessionStateOpenTokenExtended ile) İlk olarak uygulamaya giriş yapmaya çalışırken (daha önce tüm uygulama izinlerini sildiyse) ErrorReauthorizeFailedReasonUserCancelled alıyorum.
Bu girişi uygulamak için uygun yol nedir? Bu tek özellik hariç uygulama, Facebook oturum açma gerektirmez, bu yüzden giriş işlemi aynı düğme basma üzerinde olmalıdır.
Teşekkürler!
+1 Özellikle karma izinli arama daraltıldığından, aynı sorunla uğraşıyoruz. –
reauthorizeWithPublishPermissions değer kaybetti. Bunun yerine requestNewPublishPermissions kullanın. – John