2012-06-29 31 views
0

我試圖通過Apps腳本(使用GUI文件上傳)上傳Excel文件,並通過腳本立即打開它來處理它。上傳Excel文件並通過腳本以電子表格的形式立即訪問

當通過腳本上傳和保存(使用文件上傳GUI組件)時,文件不會被轉換。我沒有看到任何API將文件轉換爲本地Google文檔(在DocsList或Docs API 3中)。

有什麼辦法可以觸發文檔導出/轉換爲Google Docs原生格式嗎?我看到一些人提到使用UrlFetch觸發Docs API事件,但都表示這不容易。那裏是用UrlFetch上傳文件,而不是簡單地觸發轉換爲本地格式。

有什麼想法?

回答

0

聲明 - 我沒有試過這個,所以不知道它的工作原理。 您可以登錄到您的Google雲端硬盤,然後在上傳設置下,您可以將其設置爲自動轉換每個文件而不要求確認。

然後嘗試應用程序腳本。 這可能會也可能不會,但值得嘗試的東西

+0

感謝您的建議,但沒有它不工作。 _Settings_僅在與站點直接交互時起作用,不會修改腳本的行爲。 – VanacK

0

Google Drive API可以使用files.copy方法實現此目的。如果您添加

?convert=true 

您的文件將被複制並將副本轉換爲Google電子表格。

+0

謝謝,但我已閱讀Google Drive API僅支持** OAuth2 **,而Google Apps Script目前僅支持** OAuth 1.0a **(如果我沒有弄錯)。這將是一個很好的功能,直接在Google Apps腳本的DocsList中!你會有其他建議嗎? – VanacK

+0

@Ali Afshar - 我在創建Google Drive API調用時遇到了一些困難,您能否發佈一些示例代碼來了解如何構建它?謝謝 –

0

您也可以使用高級驅動器服務(https://developers.google.com/apps-script/advanced/drive)。

首先,您必須啓用它爲你腳本在這裏discribed https://developers.google.com/apps-script/guides/services/advanced ,然後你可以使用它像這樣:

function convertFile(destTitle,sourceFileId) { 

    // Set the "convert" property to true. 
    var opArgs = {"convert" : "true"}; 
    // Set the request body to title:<something> 
    var resource = {'title': destTitle}; 
    var response = Drive.Files.copy(resource, sourceFileId, opArgs); 

} 
相關問題