2016-04-12 6 views
2

Ich versuche ein PHP-Skript, das Dateien vom Server auf das Google-Laufwerk des Clients hochlädt, ich habe es geschafft, Dateien hochzuladen, und sogar in einem Ordner, den ich mit Curl erstellt habe, aber das Problem ist, dass ich überprüfen muss, ob Client bereits einen Ordner mit dem bestimmten Namen hat, wenn ja, ich muss die ID erhalten und die Datei auf diese ID Ordner laden, hier ist der der Code, den ich die Datei machen zu verwenden:Wie überprüft man, ob der Ordner bereits in Google Drive vorhanden ist?

$folder_fields = "{\"title\":\"innitel\", 
    \"parents\":\"[{}]\", 
    \"mimeType\":\"application/vnd.google-apps.folder\"}"; 


$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v2/files"); 
    curl_setopt($ch, CURLOPT_PORT, 443); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $folder_fields); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HEADER, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, ARRAY("Authorization: Bearer $access_token", 
    "Content-Type: application/json")); 
    $reponse = curl_exec($ch); 

Diese Methode wird ein erstellen Ordner mit dem gleichen Namen jedes Mal, wenn das Skript ausgeführt wird. Gibt es einen Weg zu tun?

Hinweis: Ich kann Google-API-Client nicht verwenden, da die PHP-Version des Servers 5.3 ist, die nicht unterstützt wird.

+0

Aktualisieren Sie Ihre PHP-Version. Ernst. 5.3. wird als unsicher angesehen und für viele mögliche Hacking-Versuche geöffnet, die in neueren PHP behandelt werden. –

+0

Sie haben Recht, aber das Problem ist, dass das Unternehmen, mit dem ich arbeite, das nicht kann, weil es Probleme verursachen wird. – MuhammadNe

+1

Nicht optimaler Code sollte nicht als Entschuldigung für Sicherheitslecks verwendet werden. Sie müssen alle Probleme auf Ihrem lokalen Server beheben, den Code hochladen (beten) und eventuelle Probleme beheben. Wenn dafür keine Zeit zur Verfügung steht, müssen Sie dem Kunden sagen, dass es besser ist als Nachsicht. –

Antwort

1

Der Ansatz hängt davon ab, ob Sie global eindeutige Ordnernamen haben oder nicht. Wenn die Antwort ja ist, mache einfach eine files.list q title = 'foo'. Wenn Sie einen Artikel erhalten, gibt es die vorhandene ID. Wenn Sie keine Elemente erhalten, müssen Sie sie erstellen.

Auf der anderen Seite, wenn Sie nicht global eindeutige Ordnernamen haben, müssen Sie die Ordnerhierarchie abrufen und Eltern überprüfen, die wesentlich komplizierter ist.

+0

Danke, ich werde versuchen, diesen Ansatz so schnell wie möglich zu machen und zu überprüfen, ob es funktioniert. – MuhammadNe

Verwandte Themen