2013-04-06 59 views
1

我正在使用iOS應用程序,它具有簡單的Facebook分享功能,基本上它允許您通過在提要中發佈來共享此應用程序的鏈接。iOS Facebook SDK 3.2.1 Feed帖子錯誤

我使用Facebook的SDK 3.2.1這樣:

NSMutableDictionary *params = 
    [NSMutableDictionary dictionaryWithObjectsAndKeys: 
     @"Test tweet", @"name", 
     @"Test", @"description", 
     @"http://myapplink.com", 
     @"link", 
     @"http://myapppicture.com/picture.jpg", 
     @"picture", 
     nil]; 

[FBWebDialogs presentFeedDialogModallyWithSession:nil 
    parameters:params 
    handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
     if (error) { 
      NSLog(@"Error publishing story."); 
     } else { 
      if (result == FBWebDialogResultDialogNotCompleted) { 
       NSLog(@"User canceled story publishing."); 
      } else { 
       NSLog(@"No error!"); 
      } 
     } 
    }]; 

的問題是:此代碼運行時,它帶來了Facebook的登錄對話框,我登錄後,我在屏幕上看到此錯誤: 「發生錯誤,請稍後再試」。 控制檯中沒有任何記錄,但是如果關閉此對話框,它只會記錄「用戶取消的故事發布。」

應用程序設置是非常基本的 - 我設置的一切就像Facebook的要求做到: http://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/

我的問題是:有沒有人在同樣的問題就來了?有什麼可以解決的辦法? 謝謝!

+0

我設法自己找到答案,但由於名聲不好,我不能發佈一段時間 - 我會在8小時內發佈答案。一般來說,解決方案是添加@「app_id」鍵與您的應用程序ID來參數字典 – hellomrbrown 2013-04-06 11:04:25

回答

7

現在這是相當簡單的,我覺得有點愚蠢:) 但無論如何,我希望這將有助於任何人將在同一問題。

通常情況下,我通過爲我的「params」字典添加了一個更多的鍵值對來解決問題 - value @「my_facebook_app_id」用於鍵「app_id」。 所以正確的字典的樣子:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           @"11111111", @"app_id", 
           @"Test tweet", @"name", 
           @"Test", @"description", 
           @"http://sometestsite", @"link", 
          @"http://site.com/testimage.jpg", @"picture", 
           nil]; 

的Facebook SDK說APP_ID關鍵是「必需的,但大多數的SDK自動指定」 - 即使我通過My​​App的-Info.plist文件提供我的APP_ID,似乎就像它沒有自動指定(或者我做錯了什麼)。

所以,如果你有同樣的問題,嘗試添加@「app_id」鍵 - 這應該有所幫助。

+0

夥計...謝謝謝謝謝謝謝謝 – mtb 2013-06-24 04:22:15