Cuenta de inicio de sesión automático de Dropbox en Core Api sin solicitud de inicio de sesión

Soy nuevo en el desarrollo de iOs y estoy creando una aplicación que usa mi propia cuenta de Dropbox. Quiero que mi aplicación inicie sesión automáticamente en mi cuenta para poder modificar y agregar archivos en la carpeta de mi aplicación. La documentación dice que debo llamar: [[DBSession sharedSession]linkFromController:viewController]; para poder iniciar sesión Pero no quiero mostrar el mensaje de inicio de sesión al usuario porque solo quiero que inicie sesión en mi cuenta de Dropbox automáticamente. ¿Hay alguna manera de que logre iniciar sesión en segundo plano sin violar los estándares de Dropbox API? Estoy usando el Core API por cierto. Por favor, ayúdame.

La API de Dropbox se diseñó con la intención de que cada usuario vincule su propia cuenta de Dropbox para interactuar con sus propios archivos. Sin embargo, es técnicamente posible conectarse a una sola cuenta. Los SDK no ofrecen soporte explícito y no recomendamos hacerlo, por diversas razones técnicas y de seguridad.

Sin embargo, si desea seguir esta ruta, en lugar de iniciar el flujo de autorización, usará manualmente un token de acceso existente para su aplicación. (Solo tenga cuidado de no revocarlo, p. Ej., A través de https://www.dropbox.com/account/security ). En iOS SDK básico necesitaría usar:

 - (void)updateAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId; 

De nuevo, esta no es una buena idea. Como se trataría de una aplicación del lado del cliente, cualquier usuario malintencionado de su aplicación podría extraer el token de acceso y usarlo para eludir las restricciones de acceso que su aplicación intentara aplicar. Por ejemplo, podrían acceder al contenido que no deberían o agregar o reemplazar contenido con una carga maliciosa a la que otros usuarios tendrían acceso.

Lo sentimos, no pude seguir la respuesta aceptada y Greg parece muy reacio a proporcionar código de ejemplo, ya que Dropbox no recomienda usar una clave secreta de esta manera. Para cualquiera que necesite una solución rápida (por ejemplo) para cargar archivos zip en una sola cuenta de Dropbox SIN usar lo que considero la API SDK de Dropbox iOS bastante opaca, los siguientes trabajos (DropboxOAuthKey es la clave secreta que presionas el botón para generar en la consola de la aplicación):

 NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration]; sessionConfiguration.HTTPAdditionalHeaders = @{ @"Authorization" : [NSString stringWithFormat:@"Bearer %@", DropboxOAuthKey], @"Content-Type" : @"application/zip" }; NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: sessionConfiguration delegate: self delegateQueue: [NSOperationQueue mainQueue]]; self.request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api-content.dropbox.com/1/files_put/auto/%@?overwrite=false",fileName]]]; [self.request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; NSData *data = [[NSFileManager defaultManager] contentsAtPath:zippedPath]; [self.request setHTTPMethod:@"PUT"]; [self.request setHTTPBody:data]; [self.request setTimeoutInterval:1000]; NSURLSessionDataTask *doDataTask = [defaultSession dataTaskWithRequest:self.request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (!error){ NSLog(@"WORKED!!!!"); } else { NSLog(@"ERROR: %@", error); } }]; [doDataTask resume];