2012-12-21 25 views
5

değiştirdikten sonra iOS'ta Dropbox API'yi kullanmaya çalışıyorum ama loadMetadata yöntemini kullanmaya çalıştığımda hataya kapıldım. işlem akışı altındaiOS Dropbox API "şu anda desteklemiyor MPOAuthConnection tarafından" kullanıcı

..


1.link (UserA)

açılır kutu yetkilendirme görünümü

3.unlink (UserA) üzerine

[[DBSession sharedSession] linkFromController:self]; 

2.Allow yetkilendirme

4.link (Dropbox yetkilendirme görünümünde UserB)

[[DBSession sharedSession] linkFromController:self]; 

5.allow yetkilendirme

6.loadMetadata

[[self restClient] loadMetadata:path]; 

Ama burada hatayı alıyorum:

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

loadMetaData yaptı çalışma cor UserA olarak düzeltin, ancak kullanıcıyı değiştirdikten sonra çalışmadı.

unlink'a giden yolun yeterli olamayacağından kuşku duyuyorum .. ama bilmiyorum.

Sorunu çözmek için lütfen bana herhangi bir tavsiyede bulunun. Herhangi bir yardım takdir edilecektir. @yusaku onun soruya yaptığı yorumda yayınlanmıştır gibi

+1

Bunu çözdüğüm için teşekkürler> https://forums.dropbox.com/topic.php?id=94511#post-517526 – zono

cevap

5

Özellikle, Greg K. diyor ki:

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.

no-brainer olmalıdır eski DBRestClient temizleme

, ama geç oldu ve bunu kalıcı bir sınıf değişkeni yapar örnek kod aşağıdaki yaparken, bir beyin ya da iki atlamak kolaydır.

+1

Yukarıdaki dropbox forum bağlantıları öldü, ancak Bay Fire'ın cevabı doğru - Asıl sorun büyük olasılıkla bir DBRestClient'i başlattıktan sonra, kullanım süresi boyunca kimlik doğrulaması için aynı kullanıcı kimliğini kullanmaya devam etmesidir. Bu kullanıcının bağlantısını kaldırırsanız (bunun yerine başka bir kullanıcı eklemiş olsanız bile), söz konusu kullanıcı için kimlik bilgilerinin olmadığı için API çağrılarının kimliğini doğrulayamaz. Düzeltme, yeni bir kullanıcıya geçtiğinizde yeni bir DBRestClient oluşturmaktır. – amergin

İlgili konular