2013-05-28 53 views
3

感謝您的閱讀!Fb請求對話返回nil不正確 - IOS Facebook

我正在嘗試創建Facebook請求,以便用戶邀請他的朋友加入該應用。

NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:nil]; 

     [FBWebDialogs 
     presentRequestsDialogModallyWithSession:nil 
     message:@"Learn how to make your iOS apps social." 
     title:@"Test" 
     parameters:params 
     handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
      if (error) { 
       // Error launching the dialog or sending the request. 
       NSLog(@"Error sending request."); 
      } else { 
       if (result == FBWebDialogResultDialogNotCompleted) { 
        // User clicked the "x" icon 
        NSLog(@"User canceled request."); 
       } else { 
        // Handle the send request callback 
        NSDictionary *urlParams = [self parseURLParams:[resultURL query]]; 
        if (![urlParams valueForKey:@"request"]) { 
         // User clicked the Cancel button 
         NSLog(@"User canceled request."); 
        } else { 
         // User clicked the Send button 
         NSString *requestID = [urlParams valueForKey:@"request"]; 
         NSLog(@"Request ID: %@", requestID); 
        } 
       } 
      } 
     }];  

}

這是相當多的Facebook的文檔代碼乾淨的副本。並且它可以工作到一個點 用戶可以選擇朋友,並且請求消失並被朋友接收,並顯示爲通知 - 迄今爲止一切都很好。

問題是,當我試圖從「處理程序」得到響應時,resultURL爲零且不包含任何內容。之後,我收到日誌消息「用戶取消的請求」。

爲什麼我不能收回任何東西?我需要的主要原因是我需要知道請求發送給哪個朋友。

謝謝你的幫助!

回答

0

好像你正在傳遞一個零空會話presentRequestsDialogModallyWithSession

使用FBSession.activeSession代替,並檢查你有足夠的權限來運行的要求(雖然如果沒有,你會得到另一種不同的錯誤)

+0

抱歉沒有幫助 – PaperThick

0

我認爲你沒有打開會話。請嘗試使用它打開會話。

if (!FBSession.activeSession.isOpen) { 
     // if the session is closed, then we open it here, and establish a handler for state changes 
      [FBSession openActiveSessionWithReadPermissions:nil 
               allowLoginUI:YES 
              completionHandler:^(FBSession *session, 
                   FBSessionState state, 
                   NSError *error) { 
    }]; 
    } 
相關問題