Ich versuche den Download-Flow für die Google Drive API v3 mit PHP zu verstehen. Mit Hilfe der API v2 einer Datei, die ich zum Download:Google Drive API v3 - Herunterladen von Dateien in PHP
- Haben Sie die Datei-Metadaten
- den downloadURL Parameter verwendet, um einen direkten Link auf die Datei zu erhalten, die an sie ein OAuth-Token und machte eine GET-Anfrage an, dass.
Mit API v3 dies scheint veraltet sind, und nach dem docs Sie files->get()
auf dem Drive Service mit einem Array-Parameter von "alt" => "media"
rufen Sie die Datei selbst, anstatt die Metadaten zu erhalten.
Und ihr Beispiel war:
$fileId = '0BwwA4oUTeiV1UVNwOHItT0xfa2M';
$content = $driveService->files->get($fileId, array(
'alt' => 'media'));
Ich habe Probleme zu verstehen, wie dies durch den Code aber und haben funktioniert surften aber es hat nicht viel mehr Informationen geben.
Wenn Sie get()
anrufen, was geht eigentlich in $content
10 in dem Beispiel? Ist es der Inhalt der Datei (in diesem Fall scheint dies lästig im Umgang mit großen Dateien - sicherlich werden Sie nicht mehr genügend Arbeitsspeicher ?!) oder ist es eine Art von Stream-Referenz, die ich anrufen kann? Wie würde ich diese Datei auf der Festplatte speichern?
Die Dokumentation geht nicht wirklich ins Detail darüber, was passiert, wenn Sie diesen API-Aufruf machen, es sagt nur, es führt einen Dateidownload durch?
Danke, ich brauchte diese zusätzlichen Informationen, aber aus irgendeinem Grund funktionierte das Lesen von 1024 Blöcken nicht für mich. Ich änderte den Code in fwrite ($ outHandle, $ content-> getBody()) ohne die while und es funktionierte. –
Danke !! Sehr hilfreich. –