2017-01-31 4 views
1

Ich benutze Google Drive Javascript Api (v2) in meinem Projekt rectjs. Und ich benutze diese Funktion, um Dateien von Google Drive zu bekommen.Erhalten keine Antwort von Google Drive javascript api

this.getProjectObjects = function(query, callback) 
{ 
    var request = gapi.client.drive.files.list({ 
     corpus : 'DEFAULT', 
     q : query, 
     fields : 'items(id,description,title,properties)' 
    }); 

    request.then(function(resp) { 
     callback(resp.result.items) 
    }, function(err) { 
     console.log(err) 
    }); 
}; 

Nach den Benutzer authentifizieren, kann ich die Dateien mit dieser Funktion erhalten. Aber wenn ich zu anderen reagieren Komponente, es funktioniert nicht mehr. Es gibt keine Antwort oder Fehler, api hängt einfach.

Dumme Sache ist, wenn ich Seite aktualisieren, es funktioniert. Auch wenn ich zu anderen Komponenten navigiere, funktioniert es nicht.

Ich benutze die gleiche Abfrage, nichts hat sich während der Navigation geändert.

Wer hat irgendwelche Ideen, was das Problem sein könnte?

Dank

+0

Hallo Bill, können Sie sehen, ob eine Netzwerkanforderung nach dem Anruf mit den Devtools gesendet wird? Welche Aktion bietet die Navigation zu einer anderen Komponente? Wird eine neue Seite oder eine interne Navigation geladen, die den Browser nicht erneut lädt? In der Vergangenheit hatte ich Probleme mit dem 'Felder' Parameter. Sie können es ausprobieren, ohne es zu spezifizieren und sehen, ob das hilft. –

+0

Hallo Grant, die App lädt die Seite nicht neu, da es SPA ist. aber wenn ich neu lade funktioniert es und ich kann sehen, dass die Anfrage von der Dev-Konsole gesendet wird. Aber nachdem ich zu einer anderen Seite navigiert bin, kann ich die Netzwerkanfrage nicht sehen. –

+0

Auch es funktionierte vor (2 ~ 3 Monaten), aber es funktioniert nicht mehr. und es gab keine Codeänderung. –

Antwort

0

Sie können die Chrome devTools, um zu überprüfen, wenn Sie irgendein Problem auftreten, wenn die Seiten wechseln. Auch in der Dokumentation - Getting Started:

Es gibt mehrere Möglichkeiten, um die JavaScript-Client-Bibliothek zu verwenden, um API-Anfragen zu machen, aber sie alle folgen dem gleichen Grundmuster:

  • Die Anwendung lädt die JavaScript-Client-Bibliothek . Die Anwendung initialisiert die Bibliothek mit API-Schlüssel, OAuth-Client-ID und API Discovery Document(s).
  • Die Anwendung sendet eine Anfrage und verarbeitet die Antwort.
  • Die folgenden Abschnitte zeigen 3 allgemeine Arten der Verwendung der JavaScript-Clientbibliothek.

  • Option 1: Laden Sie das API-Discovery-Dokument, und erstellen Sie die Anforderung.
  • Option 2: Verwenden Sie gapi.client.request
  • Option 3: Verwenden CORS

die sample für Code-Implementierung finden Sie auf effektiv Laden und API-Aufrufe zu machen.

Hoffe, das hilft.

Verwandte Themen