2016-05-26 12 views
0

Ich versuche, die Datei von Google Drive mit dem für iOS bereitgestellten SDK herunterzuladen. Aber es gibt mir diese Fehlermeldung:Herunterladen einer Datei von Google Drive mit iOS SDK

Fehler Domain = com.google.HTTPStatus-Code = 400 "(null)"

Hier ist der Download-Code:

GTLDriveFile *file = [driveFiles objectAtIndex:indexPath.row]; 
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?alt=media", 
       file.identifier]; 
GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url]; 

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) { 
    if (error == nil) { 
     NSLog(@"Retrieved file content"); 
     // Do something with data 
    } else { 
     NSLog(@"An error occurred: %@", error); 
    } 
}]; 

aber ich Ich konnte alle Dateien auflisten, und ich überprüfte auch die Paketkennung.

Irgendein Vorschlag, was ich vermisse?

Antwort

0

key (API-Schlüssel für iOS) param in URL dann versuchen, wie folgenden Code:

GTLDriveFile *file;//Your Object 
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?key=YOUR_KEY_iOS", 
       file.identifier]; 
GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url]; //GTLServiceDrive *service; 

[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) { 
    if (error == nil) { 
     NSLog(@"Retrieved file content"); 
     // File Download here 
    } else { 
     NSLog(@"An error occurred: %@", error); 
    } 
}]; 
+0

Es hat mir diesen Fehler geben: ist ein Fehler aufgetreten: Fehler Domain = com.google.HTTPStatus-Code = 401 "(null)" Ein wenig unterscheidet sich von oben ein. –

+0

bedeutet es .... Ungültige Authorization-Header. Das verwendete Zugriffstoken ist entweder abgelaufen oder ungültig ....... bitte lesen Sie dazu https://developers.google.com/drive/v3/web/handle-errors#401_invalid_credentials –

0

Ich habe versucht Erfolgreicher, aber nicht folgenden Code verwenden. NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@?alt=media", file.identifier]; Ich verwende file.webContentLink.

+0

datei.webContentLink gibt mir nichts. –