2016-05-16 6 views
-1

Es gibt eine gute Lösung zum Aktualisieren von Google-Tabellen mithilfe der Drive REST API in this question.So lesen Sie eine Tabelle mit Google Tabellen API + JavaScript

Es überschreibt den aktuellen Inhalt. Ich würde gerne den aktuellen Inhalt einlesen, ändern und dann aktualisieren.

Wie lese ich in der aktuellen Tabelle?

+0

Haben Sie versucht, den Rest von [der verknüpften Dokumentation] (https://developers.google.com/drive/v3/reference/files/get) zu lesen? Oder wollten Sie, dass wir den Code für Sie schreiben? –

+0

Ich habe versucht, GET, die als "Ruft die Metadaten oder den Inhalt einer Datei nach ID" beschrieben. Das funktioniert gut, aber es scheint nur Metadaten zu liefern, nicht der eigentliche Inhalt. (Ich habe einen $ .ajax() -Aufruf mit der URL "https://content.googleapis.com/drive/v3/files/" + SHEET_ID + "? Key =" + API_KEY; für alle Interessierten) verwendet. – ghenne

Antwort

0

Dies funktioniert (Ihre Anmeldeinformationen sind, um unter der Annahme, und Sie sind berechtigt):

 
function getFileInfo(fileId, callback) { 
    try { 
     gapi.client.drive.files.get({ 
      fileId: fileId, 
      fields: "appProperties,capabilities,contentHints,createdTime,description,explicitlyTrashed,fileExtension,folderColorRgb,fullFileExtension,headRevisionId,iconLink,id,imageMediaMetadata,isAppAuthorized,kind,lastModifyingUser,md5Checksum,mimeType,modifiedByMeTime,modifiedTime,name,originalFilename,ownedByMe,owners,parents,permissions,properties,quotaBytesUsed,shared,sharedWithMeTime,sharingUser,size,spaces,starred,thumbnailLink,trashed,version,videoMediaMetadata,viewedByMe,viewedByMeTime,viewersCanCopyContent,webContentLink,webViewLink,writersCanShare", 
     }).then(function(response) { 
      info = JSON.parse(response.body); 
      callback(info); 
     }) 
    } catch (err) { 
     console.log('Something bad happened: ' + err); 
    } 
} 

Es gibt alle bekannten Metadatenfelder (wie dieser Zeit). Sie sollten die Liste auf die gewünschten reduzieren. Aber es gibt den tatsächlichen Tabellenkalkulationsinhalt nicht zurück. Dafür müssen Sie die export api verwenden:

 
function getSpreadsheet(fileId, callback) { 
    var spreadsheet; 
    try { 
     gapi.client.drive.files.export({ 
      fileId: fileId, 
      mimeType: 'text/csv' 
     }).then(function(response) { 
      spreadsheet = Papa.parse(response.body).data; 
      callback(spreadsheet); 
     }) 
    } catch (err) { 
     console.log('Something bad happened: ' + err); 
    } 
} 

Die Daten sind Rückkehr als csv-String. Wir verwenden Papa.parse, um es in ein 2D-Array umzuwandeln.

Verwandte Themen