FBRequestConnection是非常小故障的400错误

时间:2013-02-21 22:48:36

标签: ios objective-c facebook facebook-graph-api facebook-ios-sdk

我得到Error: HTTP status code: 400

- (void)openSession
{
    [FBSession openActiveSessionWithReadPermissions:nil
                                       allowLoginUI:YES
                                  completionHandler:
     ^(FBSession *session,
       FBSessionState state, NSError *error) {
         [self sessionStateChanged:session state:state error:error];
     }];    

    [FBRequestConnection startWithGraphPath:@"me" parameters:nil HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
        NSLog(@"result %@",result);
    }];
}

这有时会起作用,有时我会收到此状态代码。获取用户的Facebook Graph数据(用户名,名称,fb_id)是否有更安全/更少的错误方法?

1 个答案:

答案 0 :(得分:0)

错误是 - 它位于openSession方法的末尾。它应该放在以下方法和案例中

- (void)sessionStateChanged:(FBSession *)session
                      state:(FBSessionState) state
                      error:(NSError *)error
{
    switch (state) {
        case FBSessionStateOpen: {
             //My code should have been placed here
    }
}

我假设在openSession方法结束时会话将会打开(常识,呃!),但我错了。 openSession只调用 FB对话框 - 您要授权此应用吗?

我真正想要的是 sessionStateChanged方法 - 大小写(FBSessionStateOpen) - 只有在单击ok对话框到要求授权的FB对话框之后才会调用此

我希望这可以澄清任何其他有此问题的人的情况。