2012-08-30 65 views
3

嘗試發佈到用戶的Facebook牆時出現以下錯誤,我似乎無法找到源。任何人都有這方面的見解?當發佈到用戶的牆上時,Facebook SDK API IOS錯誤

2012-08-29 22:14:38.490 CanP[405:707] Error: HTTP status code: 400 
2012-08-29 22:14:38.494 CanP[405:707] FBSDKLog: Response <#1111> <Error>: 
The operation couldn’t be completed. (com.facebook.sdk error 5.) 

時運行的方法應該張貼訊息facebook的牆上如下:

[FBSettings setLoggingBehavior:[NSSet setWithObjects: 
           FBLoggingBehaviorFBRequests, 
           nil]]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
[defaults synchronize]; 

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           @"My test app", @"name", 
           @"http://www.google.com", @"link", 
           @"FBTestApp app for iPhone!", @"caption", 
           @"This is a description of my app", @"description", 
           @"Hello!\n\nThis is a test message\nfrom my test iPhone app!", @"message", 
           nil]; 

// Publish. 
// This is the most important method that you call. It does the actual job, the message posting. 
[facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self]; 
+1

我跟着[相同的教程](http://gabriel-tips.blogspot.nl/2011/10/how-to-post-on-facebook-wall-through.html),我有同樣的錯誤。 – sixstatesaway

回答

1

我會建議你使用新的SDK 3.1方法張貼。

[FBRequestConnection 
startWithGraphPath:@"me/feed" 
parameters:params 
HTTPMethod:@"POST" 
completionHandler:^(FBRequestConnection *connection, 
        id result, 
        NSError *error) { 
    if (error) { 
     /* Handle error */ 
    } else { 
     /* Handle success */ 
    } 
}]; 

對於教程一步一步,請參閱:https://developers.facebook.com/docs/howtos/publish-to-feed-ios-sdk/

還要確保你問publish_action權限首先要確保你可以張貼在牆上。

如果仍然遇到問題,請在錯誤行中放置斷點並查看錯誤變量,然後深入到名爲userInfo的字典中,該字典應包含更易讀的錯誤消息。

+0

非常感謝。 userInfo字典真的是解決這些問題的關鍵。 – Arman

2

正如C Abernathy所建議的那樣,您應該「在錯誤行放置一個斷點並查看錯誤變量,然後深入到名爲userInfo的字典中,該字典應包含更多可讀的錯誤消息。」

對於我們測試新的Facebook的整合,最常見的問題很可能是要顯示的error.userInfo"com.facebook.sdk.ParsedJSONResponseKey"

message = "(#506) Duplicate status message"; 

會發生變化,你用它來測試你的Facebook的整合文字,和你可能會發現你的代碼工作得很好!

+0

userInfo是黃金,謝謝。至少你知道爲什麼不工作而不是盲目地修理它。 –

相關問題