3

アプリの起動時に、ユーザーがドロップボックスにログインしているかどうかを確認します。そうであれば、ドロップボックスに関連するコードを続行します。そうでない場合は、を使用してログイン画面を表示し[[DBSession sharedSession] link];ます。

認証が失敗した場合、ログイン画面からこのデリゲートが表示されます。

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

しかし、承認が成功した場合には何かがないようです。このシナリオにどう対処すればよいですか? ドロップボックスにリンクしたら、必要なコードの実行を開始する必要があります。

4

2 に答える 2

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;

}

于 2012-08-06T15:10:08.170 に答える
1

applicationDidFinishLaunching の一部として、次の操作を実行できるドロップボックス 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 を介して使用するだけです。

于 2012-08-06T14:36:52.747 に答える