谷歌云存储iOS-无需身份验证

谷歌云存储iOS-无需身份验证,ios,objective-c,swift,google-cloud-storage,Ios,Objective C,Swift,Google Cloud Storage,我正在尝试在没有身份验证的情况下从谷歌云存储上传或下载文件。我试图使用类似的东西,但没有成功 let storage = GTLServiceStorage() storage.additionalHTTPHeaders = ["x-goog-project-id":"my-project-id", "Content-Type": "application/json-rpc", "Accept": "application/json-rpc"] storage.APIKey = "my-serv

我正在尝试在没有身份验证的情况下从谷歌云存储上传或下载文件。我试图使用类似的东西,但没有成功

let storage = GTLServiceStorage()
storage.additionalHTTPHeaders = ["x-goog-project-id":"my-project-id", "Content-Type": "application/json-rpc", "Accept": "application/json-rpc"]
storage.APIKey = "my-server-api-key"
storage.retryEnabled = true

// bucket
let bucket : GTLStorageBucket = GTLStorageBucket()
bucket.name = "my-bucket-name"

// this code doesn't matter is only for test the previous code
let query : GTLQueryStorage = GTLQueryStorage.queryForBucketsInsertWithObject(bucket, project: "my-project-id") as GTLQueryStorage
        self.storage.executeQuery(query, completionHandler: { (ticket : GTLServiceTicket!, object : AnyObject!, error : NSError!) -> Void in
            NSLog("Bucket: \(object)");
        })
当我尝试上面的代码时,我得到了“Login Required”错误,因此我尝试在前面的代码之前应用以下代码

auth.scope = kGTLAuthScopeStorageDevstorageFullControl
auth.clientID = "ios-client-id"
auth.clientSecret = "ios-client-secret"
auth.redirectURI = "urn:ietf:wg:oauth:2.0:oob"
storage.authorizer = auth // then set authorization to StorageService
但是不起作用。我得到错误,keyName:“请求”

请给我一个例子,如何使它工作或我做错了什么


谢谢。

虽然我不确定这是否能解决你的问题;所有变量都是用关键字
let
而不是
var
声明的。使用
let
关键字可防止将来对对象进行任何更改。它定义了一个常数。这将防止您以现在的方式更改对象的属性。您可以在Swift中找到更多关于这方面的信息。

这方面运气好吗?我仍在努力寻找一种无缝的方式让iOS上传,但这是不可能的!请检查这个答案