FacebookSDKに設定されているチュートリアルに従っています。
アプリをテストする場合を除いて、すべて正常に機能しているようです。Facebookのウォールに投稿しようとすると、最初にHTTPエラー400(またはエラーコード5)が発生します。アプリでもう一度[投稿]ボタンを押すと、2回目はすべてが機能しているようです。最初の試行では、ユーザーは認証のためにFacebookアプリに送られ、アプリに戻ってからHTTP 400を受け取ります。2回目の試行では、アプリの切り替えはなく、メッセージは期待どおりにFacebookのウォールに投稿されます。 。
私のアプリが最初の試行でウォール/タイムラインに投稿されない理由を理解しようとしています。私のコードはチュートリアルのコードと同じです。
編集:
言及するのを忘れて、私は認証と壁への投稿の両方に1つのボタンを使用しています-これは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];
}];