наткнулся на ту же проблему.После некоторой отладки кажется, что проблема заключается в том, что URL-адрес обратного вызова не включен в шаг «6.2.1. Потребитель направляет пользователя к поставщику услуг» (http://oauth.net/core/1.0a/#auth_step2). В соответствии со спецификациями OAuth не должен, но Dropboxтребует, чтобы он выполнял перенаправление.
Итак, для проверки я изменил GTMOAuthAuthentication.m следующим образом:
+ (NSArray *)tokenAuthorizeKeys {
// keys for opening the authorize page, http://oauth.net/core/1.0a/#auth_step2
NSArray *keys = [NSArray arrayWithObjects:
kOAuthTokenKey,
// extensions
kOAuthDomainKey,
kOAuthHostedDomainKey,
kOAuthLanguageKey,
kOAuthMobileKey,
kOAuthScopeKey,
kOAuthCallbackKey, // !pi! 20120313 dropbox testing
nil];
return keys;
}
, то есть добавил URL-адрес обратного вызова к этому шагу. Теперь GTMOAuth работает с Dropboxдля меня.
Должно быть лучшее решение для этого, но я просто тестировал GTMOAuth / RESTKit, и этого мне было достаточно.