3
공개 액세스 버킷에 클라우드 저장소로 파일을 업로드하는 방법을 파악하는 데 문제가 있습니다.iOS Google Cloud Storage에 파일 업로드 - 401 : '로그인 필요'
- 나는 버킷을 설정하고 ACL을 모든 사용자에게 읽기 및 쓰기로 설정했습니다.
- Cloud Storage JSON API 및 Cloud Storage API를 사용하도록 설정했습니다.
- 모든 참조자를 허용하는 브라우저 응용 프로그램 용 API 키를 만들었습니다. 내가 콘솔에서 다음과 같은 출력을 얻을이 코드를 호출 할 때
private lazy var googleServiceStorage:GTLServiceStorage = { var storage = GTLServiceStorage() storage.APIKey = "AIzaSy**********m8TPCM" storage.additionalHTTPHeaders = ["x-goog-project-id" : "159*******7"] return storage }() } public func uploadAssetToGoogle(resourcePath: String?) { if let _resourcePath = resourcePath { let fileHandle = NSFileHandle(forReadingAtPath: _resourcePath) let uploadParams = GTLUploadParameters(fileHandle: fileHandle, MIMEType: "video/mov") var storageObject = GTLStorageObject.object() as GTLStorageObject storageObject.name = "12345678" let query = GTLQueryStorage.queryForObjectsInsertWithObject(storageObject, bucket: "my-bucket", uploadParameters: uploadParams) as GTLQuery var ticket = googleServiceStorage.executeQuery(query) { ticket, object, error in if let _error = error { println("Error upload file: \(error.localizedDescription) : \(error.localizedFailureReason)") return } println("Upload succeeded") } ticket.uploadProgressBlock = {ticket, numberOfBytesRead, dataLength in println("Ticket: \(ticket)") NSLog("read %llu from %llu bytes", numberOfBytesRead, dataLength) } }
가 :
mediaURL type: (Metatype) - file:///Users/Michael/Library/Developer/CoreSimulator/Devices/5895B7FA-41E7-4958-84FD-2C1043CA7CD7/data/Containers/Data/Application/2DD62539-E364-4BE0-A89C-E0DD2827D74B/tmp/trim.FCE68DAD-0FC6-4E2D-8C92-37055A02DD12.MOV Ticket: GTLServiceTicket 0x7feed4860660: {service:<GTLServiceStorage: 0x7feed2cf9d90> devKey:AIzaSyBClcLHWtXzlBHb2VbATA1xIlUO0m8TPCM fetcher:GTMHTTPUploadFetcher 0x7feed4890fb0 (https://www.googleapis.com/upload/rpc?uploadType=resumable&prettyPrint=false) } 2014-09-25 18:25:23.515 Beta[14917:1971326] read 202 from 29512 bytes Error upload file: The operation couldn’t be completed. (Login Required) : Optional("(Login Required)")
내가 놓친 것이 있습니다,하지만 난 여기에
는 스위프트 내 코드입니다 그것을 알아낼 수 없습니다. 누구든지 나를 도울 수 있다면, 더 많은 머리카락을 줄 것입니다.
이 프로젝트와 관련된 계정에 "gcloud의 인증 로그인"을 시도 했습니까? – George