简体   繁体   English

Dropbox usersGetCurrentAccount没有成员编译器错误

[英]Dropbox usersGetCurrentAccount no member compiler error

Using IOS 9.1, running on Xcode 7.1.1. 使用在Xcode 7.1.1上运行的IOS 9.1。 under El Capitan. 在El Capitan统治下。 I am trying out the tutorial on accessing dropbox thru their (new maybe) SwiftDropbox library by following this page. 我正在按照此页面尝试通过其(可能是新的)SwiftDropbox库访问Dropbox的教程。

https://blogs.dropbox.com/developers/2015/05/try-out-swiftydropbox-the-new-swift-sdk-for-dropbox-api-v2/ https://blogs.dropbox.com/developers/2015/05/try-out-swiftydropbox-the-new-swift-sdk-for-dropbox-api-v2/

Started well, managed to connect and get authorised, but unable to do much more cause the code posted to their tutorial doesn't compile. 起步很好,可以连接并获得授权,但是由于发布到其教程的代码无法编译而无法做更多的事情。

if let client = Dropbox.authorizedClient {

    // Get the current user's account info
    client.usersGetCurrentAccount().response { response, error in
        if let account = response {
            println("Hello \(account.name.givenName)")
        } else {
            println(error!)
        }
    }

    // List folder
    client.filesListFolder(path: "").response { response, error in
        if let result = response {
            println("Folder contents:")
            for entry in result.entries {
                println(entry.name)
            }
        } else {
            println(error!)
        }
    }

Complaining that DropboxClient has no member "usersGetCurrentAccount" or "filesListFolder" which I assume are some sort method calls {pretty new to swift too}. 抱怨说DropboxClient没有成员“ usersGetCurrentAccount”或“ filesListFolder”,我认为这是一些排序方法调用{对于swift来说也是很新的}。 Can not seem to google any useful leads on this? 似乎无法在Google上找到任何有用的线索吗? What should this code read/say? 此代码应读/说什么?

Bon,

THANKYOU smarx; 谢谢smarx; you put me on the right path. 你让我走上了正确的道路。 Here is the final code; 这是最终代码; with two minor fixes to the tutorial he mentioned here. 对他在这里提到的教程进行了两个小修正。

//  ViewController.swift

import UIKit
import SwiftyDropbox

class ViewController: UIViewController {


@IBAction func linkButtonPressed(sender: AnyObject) {
        if (Dropbox.authorizedClient == nil) {
            Dropbox.authorizeFromController(self)
        } else {
            print("User is already authorized!")
        }
}


override func viewDidLoad() {
    super.viewDidLoad()

    // Verify user is logged into Dropbox
    if let client = Dropbox.authorizedClient {

        // Get the current user's account info
        client.users.getCurrentAccount().response { response, error in
            print("*** Get current account ***")
            if let account = response {
                print("Hello \(account.name.givenName)!")
            } else {
                print(error!)
            }
        }

        // List folder
        client.files.listFolder(path: "").response { response, error in
            print("*** List folder ***")
            if let result = response {
                print("Folder contents:")
                for entry in result.entries {
                    print(entry.name)
                }
            } else {
                print(error!)
            }
        }

        // Upload a file
        let fileData = "Hello!".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
        client.files.upload(path: "/hello.txt", body: fileData!).response { response, error in
            if let metadata = response {
                print("*** Upload file ****")
                print("Uploaded file name: \(metadata.name)")
                print("Uploaded file revision: \(metadata.rev)")

                // Get file (or folder) metadata
                client.files.getMetadata(path: "/hello.txt").response { response, error in
                    print("*** Get file metadata ***")
                    if let metadata = response {
                        if let file = metadata as? Files.FileMetadata {
                            print("This is a file with path: \(file.pathLower)")
                            print("File size: \(file.size)")
                        } else if let folder = metadata as? Files.FolderMetadata {
                            print("This is a folder with path: \(folder.pathLower)")
                        }
                    } else {
                        print(error!)
                    }
                }

                // Download a file

                let destination : (NSURL, NSHTTPURLResponse) -> NSURL = { temporaryURL, response in
                    let fileManager = NSFileManager.defaultManager()
                    let directoryURL = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
                    // generate a unique name for this file in case we've seen it before
                    let UUID = NSUUID().UUIDString
                    let pathComponent = "\(UUID)-\(response.suggestedFilename!)"
                    return directoryURL.URLByAppendingPathComponent(pathComponent)
                }
                client.files.download(path: "/hello.txt", destination: destination).response { response, error in
                //client.files.download(path: "/hello.txt").response { response, error in
                    if let (metadata, url) = response {
                        print("*** Download file ***")
                        let data = NSData(contentsOfURL: url)
                        print("Downloaded file name: \(metadata.name)")
                        print("Downloaded file url: \(url)")
                        print("Downloaded file data: \(data)")
                    } else {
                        print(error!)
                    }
                }

            } else {
                print(error!)
            }
        }
    }
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


}

You're reading a blog post from May about an early preview version of the SDK. 您正在阅读5月发布的关于该SDK的早期预览版的博客文章。 Lots of things have changed since that post! 自从发布该帖子以来,很多事情发生了变化! Check out https://www.dropbox.com/developers/documentation/swift#tutorial for an up-to-date tutorial. 请访问https://www.dropbox.com/developers/documentation/swift#tutorial以获取最新教程。

I believe you want users.getCurrentAccount and files.listFolder . 我相信您需要users.getCurrentAccountfiles.listFolder

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 当我通过使用Pod将Dropbox与Pod集成时,由于SFSafariViewController没有使用Swift 3的成员函数,因此出现错误 - When i integrate dropbox with pods by using pod i am getting error as SFSafariViewController has no member function using Swift 3 xCode Dropbox(400)错误 - xCode Dropbox (400) error iOS Dropbox错误加载缩略图 - iOS Dropbox error loading thumbnails Xcode 9.4.1编译器错误,指示“ Int”类型的值没有成员“ rawValue” - Xcode 9.4.1 Compiler error saying that Value of type ‘Int’ has no member ‘rawValue’ Flutter:swift 编译器错误:无法推断引用成员中的上下文基础 -Edit#2 - Flutter :swift compiler error: cannot infer contextual base in reference member -Edit#2 MPMoviePlayerViewController,带有保管箱URL错误:_itemFailedToPlayToEnd: - MPMoviePlayerViewController with dropbox URL error: _itemFailedToPlayToEnd: UIDocumentBrowserViewController 返回错误导入到保管箱 - UIDocumentBrowserViewController returning error importing to dropbox Dropbox在iPhone应用程序中的集成错误400 - Integration of Dropbox in iPhone application error 400 Dropbox错误在设备而非模拟器上打开了另一个应用程序 - Dropbox Error Opens Another App on device, not on simulator 将 Dropbox 连接到 swift 5 失败并出现错误 -canOpenURL: failed - connecting Dropbox to swift 5 fails with error -canOpenURL: failed
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM