我正在按照 facebook SDK 上的教程进行操作:
一切似乎都正常,除了在测试我的应用程序时,我第一次尝试在 Facebook 墙上发帖时收到 HTTP 错误 400(或错误代码 5)。如果我在应用程序中再次按下“发布”按钮,第二次,一切似乎都正常。第一次尝试,用户被发送到 facebook 应用程序进行身份验证,然后切换回应用程序,然后给我 HTTP 400。第二次尝试,没有应用程序切换,消息按预期发布到 facebook 墙上.
我试图弄清楚为什么我的应用在第一次尝试时不会发布到墙上/时间线上。我的代码与教程中的代码相同。
编辑:
忘了提一下,我使用一个按钮来进行身份验证和发布到墙上 - 这是 IBAction 中的代码:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
// The user has initiated a login, so call the openSession method
// and show the login UX if necessary.
[appDelegate openSessionWithAllowLoginUI:YES];
[FBRequestConnection startWithGraphPath:@"me/feed" parameters:postParams HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection,id result,NSError *error)
{
NSString *alertText;
if (error) {
alertText = [NSString stringWithFormat:
@"error: domain = %@, code = %d", error.domain, error.code];
} else {
/*alertText = [NSString stringWithFormat:
@"Posted action, id: %@", [result objectForKey:@"id"]];*/
alertText = @"Posted!";
}
// Show the result in an alert
[[[UIAlertView alloc] initWithTitle:@"Facebook" message:alertText delegate:self cancelButtonTitle:@"OK!" otherButtonTitles:nil] show];
}];