2016-07-31 4 views
2

Als Teil einer Suite von Tools, die ich für das Unternehmen entwickle, für das ich arbeite, habe ich ein Add-on in der Entwicklung, das bei der ersten Installation alle relevanten Dateien und Ordner für die Suite generiert.Können Google Apps Script-Blobs mit dem Inhaltstyp "Spreadsheet" zurückgegeben werden?

Aufgrund der Komplexität einiger der Dateien entdeckte ich, dass mit dem folgenden Code war der schnellste Weg, um die Dateien zu erzeugen:

function createTemplate(branchId){ 
var home=DriveApp.getFolderById(branchId) 
var master=DriveApp.getFileById(stringId).getBlob(); 
home.createFile(master); 
} 

Ich bin mit dem Problem stellte jedoch fest, dass alle Dateien erzeugen als PDFs. Mir ist bewusst, dass dies daran liegt, dass der Standard-Blob-Inhaltstyp der PDF-Dateityp ist und dass getAs(contentType) zur Angabe des gewünschten Blob-Inhaltstyps verwendet werden kann. Ich habe jedoch Schwierigkeiten, eine Dokumentation zu finden, die angibt, wie der Inhaltstyp beispielsweise als Tabellenkalkulation aufgerufen wird.

Ist das möglich und ich habe gerade irgendwo in Googles Dokumentation verpasst, wie Inhaltstyp als Arbeitsblatt angeben oder ist es nicht möglich und können Blobs nur mit Inhaltstypen von PDF- oder Bildtypen zurückgegeben werden?

UPDATE: So entdeckte ich zufällig, dass der Inhaltstyp für Tabellen würde scheinen jedoch von application/vnd.google-apps.spreadsheet angegeben haben werden, bekomme ich jetzt den Fehler Converting from application/pdf to application/vnd.google-apps.spreadsheet is not supported.

WEITERE UPDATE: Mögliche Lösung andere Route mit Verwendung des folgenden Skript gefunden:

function createTemplate(branchId){ 
var home=DriveApp.getFolderById(branchId); 
var master=DriveApp.getFileById("fileId").makeCopy("PP Template", home); 
} 

Obwohl dies etwa eine 8-Sekunden-Laufzeit hatte, also nicht die schnellste Sache der Welt. Blob-ähnliche Antwort immer noch willkommen.

Antwort

0

Soweit ich weiß, wird Blob zu diesem Zeitpunkt nicht tun, was Sie wollen. Es gibt einen Grund, dass DocumentApp.create usw. existiert. Sie sind die Funktionsaufrufe, die Google von Ihnen für das ausführen soll, was Sie tun möchten. Sie wollen nicht 13 Möglichkeiten, die gleiche Funktion auszuführen.

Verwandte Themen