ios - Facebook 错误 Invalid_access token

标签 ios objective-c iphone facebook facebook-access-token

  1. In ios 9.2 when i login facebook get error Invalid_access token.
  2. But when i login with app register account it get successfully login facebook.
  3. my image here.

enter image description here

MYviewController.m文件

-(void)loginButtonClicked
{
   FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    login.loginBehavior = FBSDKLoginBehaviorWeb;
   [login logInWithReadPermissions:@[@"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error
        } else if (result.isCancelled) {
            // Handle cancellations
        }
        else {

            if ([result.grantedPermissions containsObject:@"email"]) {

                if ([FBSDKAccessToken currentAccessToken]) {
                   [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"first_name, last_name, picture.type(normal), accounts{username},email, gender, locale, timezone, about"}]
                     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                         if (!error) {
                             NSLog(@"fetched user:%@", result);

                            NSString *fbAccessToken = [FBSDKAccessToken currentAccessToken].tokenString;
                            NSLog(@"fbAccessToken=>%@", fbAccessToken);

                         }
                     }];
                }
            }
        }
    }];
}

MYAppdelegate.m 文件。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[FBSDKApplicationDelegate sharedInstance] application:application
                             didFinishLaunchingWithOptions:launchOptions];
    return YES;
}
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                          openURL:url
                                                sourceApplication:sourceApplication
                                                       annotation:annotation];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {

    [FBSDKAppEvents activateApp];
}

最佳答案

试试这个

-(void)loginButtonClicked
{

  /*********  logout the current session ************/
   FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
  [login logOut];
  [FBSDKAccessToken setCurrentAccessToken:nil];
  [FBSDKProfile setCurrentProfile:nil];
/*********  logout the current session ************/

   /*********  start the new session for login ************/

  // FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    login.loginBehavior = FBSDKLoginBehaviorWeb;
   [login logInWithReadPermissions:@[@"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
        if (error) {
            // Process error
        } else if (result.isCancelled) {
            // Handle cancellations
        }
        else {

            if ([result.grantedPermissions containsObject:@"email"]) {

                if ([FBSDKAccessToken currentAccessToken]) {
                   [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"first_name, last_name, picture.type(normal), accounts{username},email, gender, locale, timezone, about"}]
                     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                         if (!error) {
                             NSLog(@"fetched user:%@", result);

                            NSString *fbAccessToken = [FBSDKAccessToken currentAccessToken].tokenString;
                            NSLog(@"fbAccessToken=>%@", fbAccessToken);

                         }
                     }];
                }
            }
        }
    }];
}

关于ios - Facebook 错误 Invalid_access token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35053919/

相关文章:

ios - 字符串IOS中的上标字符

ios - 视频不再在 iOS 8 WebbApp 独立模式下播放,有人找到解决方案吗?

ios - SPSession 会超时吗?

ios - 以编程方式快速使图像适合 CALayer 内容的正确方法?

iphone - 将 Google Maps Data API 与 iPhone 集成并执行搜索

ios - ipad 和 iphone 的自适应大小类解决方案

ios - UIImage 显示一个空方 block 而不是图像

iPhone - 使用核心数据中的子对象从父表获取数据

java - LibGDX iOS RoboVM 横向方向不是全屏

iphone - 如何从我的经纬度找出最近的用户?