2016-08-24 155 views
0

我将我的应用程序链接到Facebook和不同的云服务,即Dropbox。我在身份验证流程中遇到问题。如何在同一应用程序中访问Dropbox SDK和Facebook API的令牌

对于Facebook身份验证,我使用下面提到的方法。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options { 

    return [[FBSDKApplicationDelegate sharedInstance] application:app 
                  openURL:url 
               sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] 
                 annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]; 
} 

对于Dropbox链接,根据文档认证是这样的。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url 
    sourceApplication:(NSString *)source annotation:(id)annotation { 
    if ([[DBSession sharedSession] handleOpenURL:url]) { 
     if ([[DBSession sharedSession] isLinked]) { 
      NSLog(@"App linked successfully!"); 
      // At this point you can start making API calls 
     } 
     return YES; 
    } 
    // Add whatever other url handling code your app requires here 
    return NO; 
} 

如何将Facebook和Dropbox的身份验证一起使用?

回答

0

只需在Dropbox调用的else中进行Facebook调用即可。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options { 
    if ([[DBSession sharedSession] handleOpenURL:url]) { 
     if ([[DBSession sharedSession] isLinked]) { 
      NSLog(@"App linked successfully!"); 
      // At this point you can start making API calls 
     } 
     return YES; 
    } else { 
     return [[FBSDKApplicationDelegate sharedInstance] application:app 
                 openURL:url 
              sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] 
                annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]; 
    } 
} 

请注意,这使用iOS 9+应用程序委托方法。

+0

非常感谢。 – WasimSafdar

相关问题