2012-12-21 11 views
5

Sto tentando di utilizzare Dropbox API su iOS ma sono rimasto intrappolato dall'errore quando si tenta di utilizzare il metodo loadMetadata.iOS Dropbox API "non attualmente supportato da MPOAuthConnection" si verifica dopo aver cambiato utente

flusso di processo è seguito ..


1.link (UtenteA)

[[DBSession sharedSession] linkFromController:self]; 

2.Allow autorizzazione sulla vista autorizzazione set

3.unlink (UtenteA)

[[DBSession sharedSession] unlinkAll]; 

4.link (UserB)

[[DBSession sharedSession] linkFromController:self]; 

5.Allow autorizzazione sulla vista autorizzazione set

6.loadMetadata

[[self restClient] loadMetadata:path]; 

Ma qui ottengo l'errore:

Terminating app due to uncaught exception 'Unsupported Signature Method', reason: 
'The signature method "(null)" is not currently support by MPOAuthConnection' 

loadMetaData fatto lavoro cor direttamente come UserA ma non ha funzionato dopo aver cambiato utente.

Dubito che il modo di unlink potrebbe non essere sufficiente .. ma non lo so.

Vi prego di darmi qualche consiglio per risolvere il problema. Qualsiasi aiuto sarà apprezzato.

+1

Ho risolto il problema grazie a questo> https://forums.dropbox.com/topic.php?id=94511#post-517526 – zono

risposta

5

In particolare, Greg K. dice:

Make sure you clear all your DBRestClient objects when you unlink. If you try to use an old DBRestClient object it will cause this problem.

Cancellazione del vecchio DBRestClient dovrebbe essere un gioco da ragazzi, ma quando è tardi e si sta seguente codice di esempio che lo rende una variabile di classe persistente, è facile saltare un cervello o due.

+1

Entrambi i link del forum di Dropbox sopra sono morti ma la risposta di Mr. Fire è corretta - Il problema effettivo è probabile che una volta inizializzato un DBRestClient, continui a provare a utilizzare lo stesso ID utente per l'autenticazione per tutta la sua durata. Se si scollega l'utente (anche se è stato aggiunto un altro utente), non riuscirà a autenticare le chiamate API perché non ha più credenziali per quell'utente. La correzione consiste nel creare un nuovo DBRestClient quando si passa a un nuovo utente. – amergin

Problemi correlati