2010-02-22 61 views
5

任何人都看到了嗎?
我有一種情況,有時[會話恢復]返回YES。我做了一個FBRequest.call,並調用了錯誤委託。 錯誤有102「會話密鑰無效或不再有效」。 但是,如果在同一個會話中調用任何FBDialogs(例如發佈到流),這些都可以正常工作。我不明白他們爲什麼沒有遭受同樣的錯誤。facebook上的iPhone連接 - 撥打電話時出現錯誤102「會話密鑰無效或不再有效」,但流式對話仍然有效

任何想法?

是的。我知道有一個Facebook連接論壇,但它的年齡讓我的密碼發送給我。 (是的......那裏有一個諷刺 - 爲什麼他們沒有使用Facebook連接爲他們的論壇...哼哼)。

+1

這並不回答你的主要問題,但[會話恢復]只做本地檢查以確保您有一個保存的會話密鑰,並且其到期日期尚未通過。它不會對Facebook進行任何實際驗證。 – chrissr

回答

1
- (BOOL)resume { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    FBUID uid = [[defaults objectForKey:@"FBUserId"] longLongValue]; 
    if (uid) { 
    NSDate* expirationDate = [defaults objectForKey:@"FBSessionExpires"]; 
    if (!expirationDate || [expirationDate timeIntervalSinceNow] > 0) { 
     _uid = uid; 
     _sessionKey = [[defaults stringForKey:@"FBSessionKey"] copy]; 
     _sessionSecret = [[defaults stringForKey:@"FBSessionSecret"] copy]; 
     _expirationDate = [expirationDate retain]; 

     for (id<FBSessionDelegate> delegate in _delegates) { 
     [delegate session:self didLogin:_uid]; 
     } 
     return YES; 
    } 
    } 
    return NO; 
} 

下面是該方法的代碼,我不認爲代碼是試圖與Facebook進行連接測試,他們只是得到過期日期。我認爲有時候,當你註銷Facebook時,會話不會過期,但在服務器端,他們刪除你的會話

相關問題