iOS Dropbox SDK - Es können keine Metadaten hochgeladen oder abgerufen werden

Diese App hat früher einwandfrei funktioniert, aber jetzt kann ich keine Datei hochladen oder Metadaten abrufen. Wann immer ich versuche hochzuladen, bekomme ich

File upload failed with error: Error Domain=dropbox.com Code=401 "The operation couldn’t be completed. (dropbox.com error 401.)" 

Aber wenn ich versuche, Metadaten zu bekommen, bekomme ich

Error loading metadata: Error Domain=dropbox.com Code=403 "The operation couldn’t be completed. (dropbox.com error 403.)" 

Ich habe versucht, mich erneut zu authentifizieren, aber es scheint keinen Unterschied zu geben, nachdem ich den Unlink-Befehl ausgeführt habe. Ich habe versucht, diesen Befehl an verschiedenen Stellen zu platzieren.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
//[[DBSession sharedSession] unlinkAll];
DBSession *dbSession = [[DBSession alloc]
                        initWithAppKey:@"**********" //AppKey
                        appSecret:@"************" //Secret
                        root:kDBRootDropbox]; // kDBRootAppFolder or kDBRootDropbox
[DBSession setSharedSession:dbSession];
[[DBSession sharedSession] unlinkAll];
return YES;
}

Es scheint auch so, als ob es nicht auf die Authentifizierungsflussmethode zugreift:

- (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;
}

Ich habe die Anweisungen in der Dropbox-Dokumentation befolgt und kann anscheinend nicht herausfinden, was nicht stimmt.

BEARBEITEN: Hier rufe ich linkFromController in meinem ViewController auf

- (void)viewDidLoad
{
[super viewDidLoad];

self.restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
self.restClient.delegate = self;

if (![[DBSession sharedSession] isLinked]) {
    [[DBSession sharedSession] linkFromController:self];
}

}

Antworten auf die Frage(0)

Ihre Antwort auf die Frage