3

尝试发布到用户的 Facebook 墙上时出现以下错误,我似乎无法找到来源。有人对这个问题有一些见解吗?

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];
4

2 回答 2

2

正如 C Abernathy 所建议的,您应该“在错误行放置一个断点并查看错误变量,然后深入到一个名为 userInfo 的字典,其中应该包含更易读的错误消息。”

对于我们这些测试新的 Facebook 集成的人来说,最常见的问题可能会显示在error.userInfo "com.facebook.sdk.ParsedJSONResponseKey"

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

改变用于测试 Facebook 集成的文本,您可能会发现您的代码运行良好!

于 2013-03-09T01:54:36.960 回答
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 的字典,该字典应包含更易读的错误消息。

于 2012-10-03T03:40:50.340 回答