【问题标题】:Google Cloud Storage iOS - Without AuthenticationGoogle Cloud Storage iOS - 无需身份验证
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多