我得到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)是否有更安全/更少的错误方法?
答案 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对话框之后才会调用此。
我希望这可以澄清任何其他有此问题的人的情况。