- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在“App Folder”的许可下合并了 Dropbox API V2。
使用curl调用成功:
curl -X POST https://api.dropboxapi.com/2/files/list_folder \
--header 'Authorization: Bearer vSBSoEs...............' \
--header 'Content-Type: application/json' \
--data '{"path":""}'
但是,使用最新的 swift api 调用失败:
Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=https://api.dropbox.com/2/files/list_folder, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://api.dropbox.com/2/files/list_folder}
我已按照步骤合并 API,并使用它来调用客户端:
func authDropbox() -> DropboxClient {
let client = DropboxClient(accessToken: DROPBOX_TOKEN)
return client
}
enum DropBoxListResult {
case Files(Array<Files.Metadata>)
case Error(String)
}
enum DropBoxResult {
case Result(Files.FileMetadata)
case Error(Error)
case PathError
}
func listDropbox(name:String, result: @escaping ((DropBoxListResult) -> Void))
{
Log.info("List:", name)
let client = authDropbox()
client.files.listFolder(path: name).response { response, error in
if let r = response {
Log.info(response)
result(DropBoxListResult.Files(r.entries))
} else if let error = error {
Log.error(error)
result(DropBoxListResult.Error(String(describing: error)))
}
}
}
最佳答案
我遇到了同样的问题,并从 https://www.dropboxforum.com/t5/API-support/999-quot-cancelled-quot-Error/td-p/192322 找到了解决方案
问题是 client
的范围在收到响应时超出了范围。在您的情况下,您将 client
存储在函数 listDropbox
中,该函数在收到响应时超出范围。
解决方案是将 client
对象存储为类中的变量,在收到响应后不会超出范围。
class DropboxApi : NSObject {
let client: DropboxClient = DropboxClient(accessToken: DROPBOX_TOKEN)
enum DropBoxListResult {
case Files(Array<Files.Metadata>)
case Error(String)
}
enum DropBoxResult {
case Result(Files.FileMetadata)
case Error(Error)
case PathError
}
func listDropbox(name:String, result: @escaping ((DropBoxListResult) -> Void))
{
Log.info("List:", name)
client.files.listFolder(path: name).response { response, error in
if let r = response {
Log.info(response)
result(DropBoxListResult.Files(r.entries))
} else if let error = error {
Log.error(error)
result(DropBoxListResult.Error(String(describing: error)))
}
}
}
}
关于swift - 调用 SwiftyDropbox 方法时的 NSURLErrorDomain 代码 -999,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516402/
我正在使用此代码下载一个文件,它工作正常。 // Download a file let destination : (NSURL, NSHTTPURLResponse) -> NSURL = { t
我在我的 iOS 应用程序中使用 SwiftyDropbox SDK,我试图仅在我的应用程序中列出文件夹,然后用户可以选择一个文件夹(而不是一个文件)。 在 ViewController => vie
我正在iOS项目中试用SwiftyDropbox,当我使用本教程中的代码时... if let client = Dropbox.authorizedClient { // Get the cur
我创建了 ssh key 并将其添加到 github。但是当我启动 $ ssh -vT git@github.com 时,我得到了错误信息 Permission denied (publickey)。
首先 - 我正在使用 Xcode 8 和 Swift 3。现在我想在我的应用程序中集成 Dropbox API (SwiftyDropbox)。因为我是 iOS 编程的新手,所以我不确定我是否正确完成
我有一个带有 SwiftyDropbox 的应用程序,可以正常运行,但每次使用该应用程序时,我都需要插入 Dropbox 的电子邮件和密码。该应用程序仅供我使用,如果应用程序自动登录我的帐户,则不是安
Related question 在尝试使用 Dropbox SwiftyDropbox 为我的文件创建共享链接时,我总是收到错误消息: Bad Input: Error in call to API
我一直在使用 SwiftyDropbox,我遇到了一个奇怪的错误问题。具体来说,我不确定如何处理收到响应后提供的闭包回调中的错误,以便我可以获得它们的关联值。 例如,Dropbox.authorize
我开始在我的 iOS 客户端上使用 SwiftyDropbox,我的计划是在用户成功登录后获取访问 token ,然后将该访问 token 发送到我的服务器 - 这样它就可以使用用户 Dropbox。
我遇到了与 this question 相同的问题.他的问题和我的几乎一模一样。事实上,我们正在关注 the same tutorial .然而,the answer那解决了他的问题对我不起作用。我通
我刚刚开始 iOS 开发,我将 Dropbox API 与 SwiftyDropbox 结合使用。我正在尝试将文本文件上传到保管箱,但出现以下错误: 无法使用“(路径:字符串)”类型的参数列表调用“上
我正在尝试使用 SwiftyDropbox 下载文件,但路径有问题。我在 mi Dropbox“prueba.txt”中有一个文件: Dropbox file 这是我用来在我的应用程序中下载的代码。
我正在尝试使用 SwiftyDropbox 和 Swift 3.0 将 UIImageView 中的图像上传到 Dropbox。当我按下按钮时,在第一个打印语句之后没有任何反应。我究竟做错了什么。
我在“App Folder”的许可下合并了 Dropbox API V2。 使用curl调用成功: curl -X POST https://api.dropboxapi.com/2/files/li
我收到这个错误: dyld: Library not loaded: @rpath/libswiftWebKit.dylib Reason: image not found 当我运行使用 Cocoa
我是一名优秀的程序员,十分优秀!