2013-03-20 24 views
5

Próbowałem użyć przykładu z Dysku Google documentation. Więc kod jest:Usuwanie pliku z Dysku Google przy użyciu klienta JS

var request = gapi.client.drive.files.delete({ 
    'fileId' : someFileId 
    }); 

    request.execute(function(resp) 
    { 
     console.log(resp); 
    }); 

Aplikacja jest zainstalowana prawidłowo i używam zakres drive.file. Problem polega na tym, że plik nie został usunięty. Jest nadal dostępny w interfejsie Dysku i nie można go już otworzyć ani pobrać. Plik jest uszkodzony.

Wysyłane żądanie nie jest DELETE https://www.googleapis.com/drive/v2/files/fileId, zgodnie z dokumentami. Jest to POST https://www.googleapis.com/rpc?key=API_KEY. Treść zawiera tablicę JSON:

[{"jsonrpc":"2.0","id":"gapiRpc","method":"drive.files.delete","params":{"fileId":"someFileId"},"apiVersion":"v2"}] 

Odpowiedź zawiera jeden pusty obiekt JSON. Nie ma błędów w odpowiedzi i nie ma błędów JS na stronie. Eksplorator interfejsów API pomyślnie usuwa plik.

Jakieś wskazówki?

Odpowiedz

5

Spróbuj XMLHttpRequest Zamiast:

var xmlReq = new XMLHttpRequest(); 
xmlReq.open('DELETE', 'https://www.googleapis.com/drive/v2/files/' + fileId + '?key=' + apiKey); 
xmlReq.setRequestHeader('Authorization', 'Bearer ' + accessToken); 
+1

Dzięki. To załatwia sprawę. Wydaje mi się, że eksplorator API tak naprawdę nie używa klienta JS. Zgłosiłem błąd, więc mam nadzieję, że wkrótce zostanie naprawiony. https://code.google.com/p/google-api-javascript-client/issues/detail?id=77 –

+0

Mam z tym problemy. Zobacz mój post, http://stackoverflow.com/questions/16522158/delete-file-in-gdrive-with-javascript. Mogę usunąć dokument za pomocą tego rozwiązania, dzięki czemu nie można go znaleźć na liście używania interfejsu API, ale pozostanie on na Dysku Google i będzie uszkodzony. To oznacza, że ​​mogę to zobaczyć, ale nie mogę go otworzyć ani usunąć. – arpo

+0

Inicjuję aplet google goi za pomocą metody 'gapi.client.init'. Jak uzyskać token dostępu? – Apuleius

Powiązane problemy