【发布时间】:2015-06-17 18:54:51
【问题描述】:
我正在尝试从 Google Cloud Storage 上传或下载文件而无需身份验证。我尝试使用与https://code.google.com/p/google-api-objectivec-client/wiki/Introduction#Basics 类似的东西,但没有奏效。
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)");
})
当我尝试上面的代码时,我得到 “需要登录” 错误,所以我尝试在前面的代码之前应用以下代码
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: "Request"
请给我一个例子如何使它工作或我做错了什么。
谢谢。
【问题讨论】:
-
运气好吗?我仍在尝试为 iOS 找到一种无缝上传方式,但它似乎不可能!
-
请查看此答案link
标签: ios objective-c swift google-cloud-storage