Facebook SDK API IOS 发布到用户墙时出错

问题描述 投票:0回答:2

我在尝试发布到用户的 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];
ios objective-c facebook sdk
2个回答
2
投票

按照 C Abernathy 的建议,您应该“在错误行放置一个断点并查看错误变量,然后深入到名为 userInfo 的字典,该字典应该包含更具可读性的错误消息。”

对于我们这些测试新 Facebook 集成的人来说,最常见的问题可能会显示在

error.userInfo
"com.facebook.sdk.ParsedJSONResponseKey"

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

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


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 的字典,该字典应该包含更具可读性的错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.