我已经阅读了很多关于从Facebook获取信息的教程,但到目前为止我都失败了.我只是想从Facebook获取用户名和个人资料图片.
- (IBAction)login:(id)sender {
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_location",@"user_birthday",@"user_hometown"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
NSLog(@"error:%@",error);
} else {
// retrive user's details at here as shown below
NSLog(@"FB user first name:%@",user.first_name);
NSLog(@"FB user last name:%@",user.last_name);
NSLog(@"FB user birthday:%@",user.birthday);
NSLog(@"FB user location:%@",user.location);
NSLog(@"FB user username:%@",user.username);
NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]);
NSLog(@"email id:%@",[user objectForKey:@"email"]);
NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n",
user.location[@"name"]]);
}
}];
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed: …Run Code Online (Sandbox Code Playgroud) 我正在使用Facebook iOS SDK.在我的代码中,我使用默认权限授权我的应用程序,因此我的会话有效,直到到期日期为止.但是,在到期日期之后,我尝试重新授权以便"刷新我的OAuth令牌",如前所述.
但是,当我尝试重新授权时,会显示一个对话框,说明我已经授权了我的应用,即使我希望它只是在没有对话框的情况下更新我的OAuth令牌.根据facebook,这是可能的:
将用户重定向到auth对话框时,如果用户已经授权您的应用程序,则不会提示用户输入权限.Facebook将返回一个有效的访问令牌,而无需任何面向用户的对话框.
但是,我确实得到了一个对话框,我想知道如何在不获取对话框的情况下刷新访问令牌.