如何使用iOS上的Dropbox API成功登录?

时间:2012-08-06 14:19:20

标签: iphone ios dropbox dropbox-api

它会在我的应用启动时检查用户是否登录到Dropbox。如果是,则继续使用与dropbox相关的代码。如果没有,它会使用[[DBSession sharedSession] link];向他们显示登录屏幕。

如果授权失败,则从登录屏幕出现此代理:

-(void)sessionDidReceiveAuthorizationFailure:(DBSession *)session userId:(NSString *)userId {
    [[DBSession sharedSession] link];
}

但是,授权成功时,似乎并没有什么。我该如何处理这种情况?我需要在他们与dropbox链接后开始运行必要的代码。

2 个答案:

答案 0 :(得分:5)

您可以通过

中的Dropbox API成功登录

-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url功能

-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url {


    if ([[DBSession sharedSession] handleOpenURL:url]) {
        //Successfully Logged in to Dropbox
        return YES;
    }

    return NO;

}

答案 1 :(得分:1)

作为applicationDidFinishLaunching的一部分,您可以启动dropbox api,您可以执行以下操作。

dispatch_async(dispatch_get_main_queue(), ^{  
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    DBSession* dbSession = [[[DBSession alloc] initWithAppKey:@"appKey" appSecret:@"appSecret" root:kDBRootAppFolder] autorelease];
    dbSession.delegate = self;  
    [DBSession setSharedSession:dbSession];  
    [[NSNotificationCenter defaultCenter] postNotificationName:kSharedSessionAvailability  object:[NSNumber numberWithBool:dbSession != nil ? YES : NO]];  
});

但通常你只是通过restClient获取你的会话并使用它。