[英]Facebook apprequests with 3.0 SDK
我正在使用Facebook iOS SDK 3.1.1,并且已经成功集成了许多Facebook功能。 坚持3.1.1,我正在使用登录
[FBSession openActiveSessionWithPermissions:permission
allowLoginUI:bAllowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
然后,我需要发送“ apprequests”,并且没有在SDK 3.1中实现的新方法,因此我必须使用Facebook对象和FBDialog退回到已弃用的API。
但是,调用不赞成使用的对话框函数:
[m_pFacebook dialog:@"apprequests"
andParams:params
andDelegate:delegate];
会弹出FBDialog并提示用户通过对话框再次登录。 我需要直接进入apprequests对话框,而无需用户再次输入其凭据,而且我确信有办法做到这一点,因为我已经在Diamond Dash和其他游戏中实现了它。
我尝试过使用FBSession.activeSession.accessToken设置m_pFacebook.accessToken,并且还确保m_pFacebook.session充满了FBSession的登录会话
有人遇到过这个问题吗?
经过一些调试后,发现Facebook * m_pFacebook对象的expirationDate尚未更新,因此_lastAccessTokenUpdate仍在[NSDate distantPast]中。 解决办法是打电话
[m_pFacebook fbDialogLogin:session.accessToken expirationDate:session.expirationDate];
当sessionState更改为FBSessionStateOpen时
- (void) sessionStateChanged:(FBSession*)session state:(FBSessionState)state error:(NSError*)error {
switch ( state ) {
case FBSessionStateOpen:
[m_pFacebook fbDialogLogin:session.accessToken expirationDate:session.expirationDate];
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.