2013-08-20 33 views
6

Tôi đang sử dụng SDK iOS 3.7 của Facebook trên ứng dụng iOS để xử lý thông tin đăng nhập. Khi tôi yêu cầu quyền đăng, có vẻ như ngày hết hạn là khoảng 2 tháng kể từ ngày đăng nhập.Cách xử lý mã thông báo truy cập Facebook đã hết hạn trên iOS và FB SDK 3.7

Tôi hiểu rằng tôi có thể kiểm tra ngày hết hạn sử dụng [FBSession activeSession].accessTokenData.expirationDate nhưng điều gì xảy ra và làm cách nào để xử lý mã thông báo khi mã thông báo hết hạn?

Tôi có chạy lại [FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:]; không?

+1

Câu trả lời nhanh là, đừng lo lắng về điều đó, SDK sẽ chăm sóc gia hạn mã thông báo cho bạn. –

Trả lời

0

Tôi thực hiện việc này và FB tự động tạo lại phiên. Nếu FB đã thay đổi điều khoản sử dụng hoặc một cái gì đó, thì nó sẽ hiển thị hộp thoại đăng nhập cho người dùng.

// call this before any calls to FB api 
- (void)openSession 
{ 
if(FBSession.activeSession.state != FBSessionStateOpen) 
{ 

    [FBSession openActiveSessionWithPublishPermissions:@[FB_PUBLISH_ACTIONS_PREMISSION] 
             defaultAudience:FBSessionDefaultAudienceFriends 
              allowLoginUI:NO 
            completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
        if(!error && session.isOpen) 
        { 
        } 
        else 
        { 
         _lastError = error; 
         // handle the error 
        } 
         // here, you can handle the session state changes in switch case or 
         //something else 
        [self session:session 
        hasChangedState:status 
         withError:error]; 

       }]; 
     } 
} 
Các vấn đề liên quan