2017-11-27 5 views
0

Wie verwenden Sie Google Picker, um Inhalte aus Google Drive in eine Datei zu importieren? (speziell von einer .json) Ich habe versucht, dies für einen Tag herauszufinden, indem Sie das hier gefundene Beispiel verwenden: https://developers.google.com/picker/docs/. Ich habe mir auch GitHub und Stack Overflow Beispiele angesehen, aber ich kann es immer noch nicht herausfinden. Hier ist mein Code:Öffnen von JSON mit Google Picker

function pickerCallback(data) { 
    var url = 'nothing'; 
    if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) { 
     var doc = data[google.picker.Response.DOCUMENTS][0]; 
     var fileId = data.docs[0].id; 
     url = doc[google.picker.Document.URL]; 

     var message = 'You picked: ' + url; 
     document.getElementById('result').innerHTML = message; 

     loadNetwork(fileId); 
    } 
} 
    function loadNetwork(fileId) { 
    var responseObject = MakeXMLHTTPCall(fileId); 
    alert(responseObject); 
    var inputValue = responseObject != null ? responseObject.responseText : ""; 
    var inputData = JSON.parse(inputValue); 

    var data = { 
     nodes: getNodeData(inputData), 
     edges: getEdgeData(inputData) 
    } 

    network = new vis.Network(container, data, {}); 
} 

Für den Code oben gezeigt, verwendete ich eine Kombination von Datei, fileId und url, aber es hat nicht für mich gearbeitet. Ich habe auch versucht, die Datei aus dem pickerCallback vorbei() bis auf den Code unten, die eine der Google-Beispiele ist:

function downloadFile(file, callback) { 
    if (file.downloadUrl) { 
      alert(file); 
      var accessToken = gapi.auth.getToken().access_token; 
      var xhr = new XMLHttpRequest(); 
      alert(xhr); 
      xhr.open('GET', file.downloadUrl); 
      xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken); 
      xhr.onload = function() { 
       callback(xhr.responseText); 
      }; 
      xhr.onerror = function() { 
       callback(null); 
      }; 
      xhr.send(); 
    } else { 
     callback(null); 
    } 
} 

Bitte helfen Sie mir herauszufinden, wie eine Datei mit dem Google Picker zu öffnen. Vielen Dank!

Antwort

0

Ich sehe, dass Sie eine Datei in Ihrem Browser mit Picker API öffnen möchten. Die Art und Weise Sie dies tun könnte, ist die fileId mit Picker API zu erhalten, und verwenden Sie dann den webViewLink der Datei mit dem File.get es zu öffnen:

webViewLink String Ein Link, um die Datei in einem entsprechenden Google für die Öffnung der Editor oder Viewer in einem Browser.

Files.get

Ruft Metadaten einer Datei oder den Inhalt von ID