1
使用適用於iOS的快速啓動應用程序我能夠獲取Google Drive瀏覽文件和文件夾,顯示圖標和縮略圖以及下載文件。然而,當涉及到上傳我得到以下錯誤:上傳的權限代碼403不足
發生錯誤:錯誤域= com.google.GTLRErrorObjectDomain代碼= 403 「權限不足」 的UserInfo = {GTLRStructuredError = GTLRErrorObject 0x61800024ff90:{消息:「不足權限「錯誤:[1]代碼:403},NSLocalizedDescription =權限不足}
從這裏和谷歌論壇上的評論似乎我需要使用驅動器範圍,但我不知道該怎麼辦那。下面是從登錄回調:
- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error {
if (error != nil) {
[self showAlert:@"Authentication Error" message:error.localizedDescription];
_driveService.authorizer = nil;
} else {
self.signInButton.hidden = true;
_driveService.authorizer = user.authentication.fetcherAuthorizer;
[self signedIn];
[self listFilesFromFolderID:[self initialFolder]];
}
}
然後上傳我做這個文件:
_driveFile = [GTLRDrive_File object];
_driveFile.name = [NSString stringWithFormat:@"%@.%@", _filenameToSave, _fileExtension];
_driveFile.mimeType = _fileMimeType;
NSString *parentRef = @"root";
if (self.currentFolder)
parentRef = [self.currentFolder.identifier copy];
_driveFile.parents = @[ parentRef ];
GTLRUploadParameters *uploadParameters = [GTLRUploadParameters uploadParametersWithData:fileData
MIMEType:_driveFile.mimeType];
uploadParameters.shouldUploadWithSingleRequest = TRUE;
GTLRDriveQuery_FilesCreate *query = [GTLRDriveQuery_FilesCreate queryWithObject:_driveFile
uploadParameters:uploadParameters];
query.fields = @"id";
[self.driveService executeQuery:query completionHandler:^(GTLRServiceTicket *ticket,
GTLRDrive_File *file,
NSError *error) {
if (error == nil) {
NSLog(@"File ID %@", file.identifier);
} else {
NSLog(@"An error occurred: %@", error);
}
}];
非常感謝!這是在我的鼻子下。我花了幾個小時在谷歌文檔試圖弄清楚。咄。 – user1673447
@ user1673447我最近做到了,花費了更多的時間。我的回答對你有幫助嗎? – Nirmalsinh