내 IOS 응용 프로그램에서 파일을 업로드하기 위해 Google 클라이언트 API V3에서 작업 중입니다. 내가 사용한 스코프는Google 드라이브 Api V3에서 새 파일을 드라이브에 업로드 한 후 웹 콘텐츠 링크를 반환하지 않습니까?
NSArray *scopes = [NSArray arrayWithObjects:kGTLAuthScopeDrive,kGTLAuthScopeDriveFile,kGTLAuthScopeDriveAppdata,kGTLAuthScopeDriveMetadata, nil];
있습니다 나는 새로운 파일을 업로드에 사용되는 코드는 문제는 웹 컨텐츠 링크가 null이며, 내 데이터베이스에 저장에 대한 응답으로 원하는
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:data MIMEType:file.mimeType];
GTLQuery * query = [GTLQueryDrive queryForFilesCreateWithObject:metadata uploadParameters:uploadParameters];
GTLServiceTicket *uploadTicket=[self.gogService executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
GTLDriveFile *updatedFile,
NSError *error) {
if (error == nil) {
NSLog(@"File WebContent Link %@", [updatedFile webViewLink]);
}
else {
NSLog(@"An error occurred: %@", [error localizedDescription]);
}
}];
[uploadTicket setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long totalBytesWritten, unsigned long long totalBytesExpectedToWrite)
{
progressBar.progress=(1.0*totalBytesWritten/(1.0*totalBytesExpectedToWrite)) ;
NSLog(@"%llu",totalBytesWritten);
NSLog(@"%llu",totalBytesExpectedToWrite);
}];
입니다 내 웹 앱이이 링크를 사용하여 해당 파일을 열 것이기 때문입니다.
Google 드라이브 API의 이전 버전은 웹 콘텐츠 링크를 반환하고있었습니다. 웹 콘텐츠 링크를 얻으려면 어떻게해야합니까?
문서 확인 : [Google 드라이브 API v3으로 이전] (https://developers.google.com/drive/v3/web/migration). 전체 리소스는 더 이상 기본적으로 반환되지 않습니다. 'fields' 쿼리 매개 변수를 사용하여 반환 할 특정 필드를 요청하십시오. 지정하지 않으면 일반적으로 사용되는 필드의 하위 집합 만 반환됩니다. 참조 용으로 [sample] (https://developers.google.com/drive/ios/devguide/files#creating_new_files)을 확인하십시오. – abielita
많은 도움을 주셔서 감사합니다. –
답변으로 게시 해 드리겠습니다. 도움이된다면 upvote/accept 할 수 있습니다! :) – abielita