goodreader - ¿Cómo descargar el pdf de la API de google drive V3 en IOS?
goodreader for windows (3)
Hoy, tengo éxito en descargar el archivo de Google Drive V3 Api.
self.fileSize = [loadFile.quotaBytesUsed unsignedIntegerValue];
////////////////////////////////////////////////////////////////////////////////////////////////////
GTMSessionFetcher *fetcher = [GTMSessionFetcher fetcherWithURLString:loadFile.webContentLink];
if(fetcher==nil)
{
break;
}
fetcher.authorizer = [GTLServiceDrive sharedServiceDrive].authorizer;
fetcher.destinationFileURL = [NSURL fileURLWithPath:self.intoPath];
__block typeof(self) blockSelf = self;
fetcher.downloadProgressBlock = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
//get download progress
};
////////////////////////////////////////////////////////////////////////////////////////////////////
[fetcher beginFetchWithDelegate:self didFinishSelector:@selector(fetcher:finishedWithData:error:)];
Trabajando con la Google Drive V3 API
para descargar archivos y PDF.
Según Google Doc, Google Drive V3 Api a continuación es la URL para descargar archivos (digamos archivo de texto).
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?alt=media",file.identifier];
Sin embargo, cuando simplemente utilicé esta url, me da error al descargar archivos, luego intenté algo así con Client ID y está funcionando bien (aquí eliminé alt = medios y agregué el id del cliente en la url. Lo cual funciona perfectamente bien) .Abajo está la url modificada.
`NSString *url = [NSStringstringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?key=%@", file.identifier,kClientID];`
Ahora, para el pdf, han mencionado en Google Doc para usar la siguiente URL.
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@/export?alt=media&mimeType=application/pdf", file.identifier];
Una vez más estoy enfrentando el mismo problema ... la URL anterior para descargar el pdf que me da el error. He hecho toda la permutación y combinación con la URL sin éxito.
*** El código de muestra proporcionado en el documento está utilizando google drive V2 Api.
Entonces, ¿cómo descargar pdf con el uso de Google Drive V3 Api? Por favor ayuda.
@Andrew Lai, @ samar Estoy confundido con la pregunta "Cómo descargar en Drive V3". Ahora, podría obtener file.webContentLink pero no puedo encontrar la manera de descargar el archivo. Ayudame ~
- (void) downloadFile: (NSString *) url {
GTMSessionFetcher *fetcher = [GTMSessionFetcher fetcherWithURLString:url];
fetcher.authorizer = [[GTLServiceDrive alloc]init].authorizer;
fetcher.destinationFileURL = [NSURL fileURLWithPath:url];
__block typeof(self) blockSelf = self;
fetcher.downloadProgressBlock = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
//get download progress
NSLog(@"bytesWritten = %d",bytesWritten);
NSLog(@"totalBytesWritten = %d",totalBytesWritten);
NSLog(@"totalBytesExpectedToWrite = %d",totalBytesExpectedToWrite);
};
[fetcher beginFetchWithDelegate:self didFinishSelector:@selector(fetcher:finishedWithData:error:)];
}