2013-02-27 83 views
1

有没有办法让iOS授权Dropbox而不打开Dropbox应用程序(如果已安装)。只需打开Dropbox webview。你能够做到这一点的Facebook身份验证,我希望有一个选项,我可以设置不打开保管箱应用程序。iOS在没有打开Dropbox应用的情况下授权Dropbox

我发现在auth API逻辑 https://www.dropbox.com/developers/core/api#authorize

不知道你将如何实现它的iOS。

感谢,

+0

你能否澄清 - 你不知道如何将认证的会话“切换”到webview,或者你不知道如何在第一个认证的webview *之外认证用户*地点? – Madbreaks 2013-02-27 17:54:35

+0

问题是,如果用户安装了Dropbox应用程序,我不希望“[[DBSession sharedSession] linkFromController:self];”打开保管箱应用程序。我想要认证使用web视图。 – 2013-02-27 19:20:06

+0

@TimWalsh,你有没有找到一个合理的方法来做到这一点? – 2013-03-11 06:45:19

回答

2

我能够在安装收发箱检查和更改基于关闭呼叫来解决这个问题。

NSURL *dropboxUrl = [NSURL URLWithString:@"dbapi-1://"]; 
    if ([[UIApplication sharedApplication] canOpenURL:dropboxUrl]) { 
     [[DBSession sharedSession] linkUserId:@"" fromController:vc]; 
    }else{ 
     [[DBSession sharedSession] linkFromController:vc]; 
    } 

如果用户安装了dropbox,它将打开safari并以此方式验证用户。

不是最干净的解决方案,而是最好的解决方案,无需添加任何更多的第三方库。

+0

很棒,非常感谢Tim。我会继续使用你的解决方案。 – 2013-03-22 18:47:41

0

我问在评论一个问题在那里,而你的答案可能会或可能不会使这个答案无效,但是在这里你去:您可以利用Dropbox的自己iOS SDK当前用户进行身份验证。这可能比使用/authentication REST端点更可取。

另一个可能使生活更轻松的选择是使用Temboo的iOS SDK(完全披露:我为Temboo工作)。它允许您在iOS应用程序中轻松使用Dropbox's API,并且您的Temboo帐户工具还处理许多OAuth,证书等繁重的工作.Temboo SDK还有100+ other APIs可以与之交谈,已经实现了与其他API集成的一个轻而易举的事情。

干杯

相关问题