在我的应用程序内部,我希望用户能够登录DropBox,并浏览和查看他或她的文件和文件夹。这对我来说似乎是一项非常普遍的任务,所以我想知道是否有任何教程或示例代码?我无法在Google上找到任何内容。
我相信我可以自己使用表格视图和来自dropbox.com的Core API tutorial,但如果代码已经在那里,我不想浪费所有时间。
答案 0 :(得分:1)
如果你在Objective c上查看它,你可以从这个链接获得一个演示项目。您可以在其中浏览rootdirectory的文件夹,也可以下载文件。
答案 1 :(得分:1)
我遇到了同样的问题。我花了很长时间才找到答案,真的是压倒性的,因为它没有太多的信息。我这样做了: 我很抱歉我的英语,不是我的第一语言。
安装Dropbox选择器https://www.dropbox.com/developers/chooser#ios 安装SwiftyDropbox
SwiftyDropbox安装Alamofire,我们需要这个来下载文件,如果没有则安装它
Dropbox Chooser允许用户从其保管箱帐户中选择任何文件,并返回所选文件的共享链接,以便:
//Ask SwiftyDropbox if the user is logged in
if DropboxClientsManager.authorizedClient != nil{
// Use this from Dropbox chooser to open a view controller that allow the user select the file
//DBChooserLinkTypeDirect <--- it has to be this parameter, there is another one but is useless for our purpose
DBChooser.default().open(for: DBChooserLinkTypeDirect, from: self, completion: { (results) in
//Here starts the completion block of Chooser
if let resultado = results{ //Obtain the results
var d = DBChooserResult() //Create a variable of DBChooserResult type
d = resultado[0] as! DBChooserResult //Get the result. Just one result because the user just can select ONE file (in this version just one, it may be more but I don't know how in this moment
print(d.name)
print(d.link)//The atributte link give us the url to download the file.
//If you paste it in your browser the download starts right away
//Use Alamofire to download the file from the url
Alamofire.request(d.link).responseData { response in
//Get the data from the URL
if let data = response.result.value
{
//Here we have the data to do whatever we want, in my case I show the PDF file in a WebView
print("Data de Alamofire \(response.description)")
self.desplegarUrlEnWebview(datos: data, url: d.link)
}
}
}
})
}else{
//If the user is not logged in we use SwiftyDropbox to log in
DropboxClientsManager.authorizeFromController(UIApplication.shared, controller: self, openURL: { (url) in
UIApplication.shared.open(url, options: [:], completionHandler: nil)
})
}
答案 2 :(得分:0)
Dropbox API和SDK的所有官方资源都可以在Dropbox Developer网站上找到:
https://www.dropbox.com/developers
具体来说,您指的是iOS Core SDK。您已经提到了tutorial,但SDK下载本身也包含一个可用的示例应用程序:
https://www.dropbox.com/developers/core/sdks/ios
该示例不包含您正在寻找的所有功能。
答案 3 :(得分:0)
好吧,我已经开始创造了它。虽然在尝试查看pdf文件时似乎有问题。无论如何,这是代码:
https://github.com/danielbierwirth/DropboxBrowser
有关更多信息,您可以参考Dropbox的官方开发者网站。
答案 4 :(得分:0)
使用 Pod 'SwiftyDropbox'。
按照此处的说明配置您的项目:http://dropbox.github.io/SwiftyDropbox/api-docs/latest/。
在您的 Dropbox 应用控制台中,请记住在“权限”选项卡下授予允许您的应用查看和管理文件和文件夹的权限。如果您对权限进行任何更改,则必须重新生成访问令牌,并记住在代码中更改访问令牌。
因为 dropbox 没有重定向 url 来在我们登录后重定向和查看我们的文件和文件夹,所以我们必须创建一个表视图控制器来加载我们的文件和元数据。 (请记住,您必须从 Dropbox 返回到您的应用才能查看文件)。
如果您想在您的应用中使用该文件进行上传,请使用 tableView 委托方法“didSeelectRowAt”。