2017-08-07 28 views
1

我正嘗試在Google應用程序腳本中使用google picker API,以允許用戶選擇要上載文檔的文件夾。我使用下面的代碼谷歌應用程序腳本中的Google Picker方法「setSelectableMimeTypes不是函數」錯誤

HTML文件

function change_destination() 
{ 
gapi.load('picker', {'callback': function(){pickerApiLoaded = true;}}); 
google.script.run.withSuccessHandler(createPicker).getOAuthToken(); 
} 
function createPicker(token) 
{ 
    var docsView = new google.picker.DocsView().setSelectFolderEnabled(true).setParent('root'); 
    var callback = function(data) 
    { 
    if (data.action == google.picker.Action.PICKED) 
    { 
    var doc = data.docs[0]; 
    console.log("You picked " + doc.id); 
    } 
    }; 
    var picker = new google.picker.PickerBuilder().setSize("650","470").setOAuthToken(token).addView(docsView).setOrigin('https://docs.google.com').setCallback(callback).build(); 
    picker.setSelectableMimeTypes('application/vnd.google-apps.folder'); 
    picker.setVisible(true); 
} 


<script type="text/javascript" src="https://apis.google.com/js/api.js"></script> 

CODE.gs

function getOAuthToken() 
{ 
    return ScriptApp.getOAuthToken(); 
} 

正在以下錯誤 「setSelectableMimeTypes是不是一個函數」

回答

0

你在構建選擇器之前需要設置setSelectableMimeTypes

var picker = new google.picker.PickerBuilder() 
     .setSize("650","470") 
     .setSelectableMimeTypes('application/vnd.google-apps.folder') //not sure about this Mime type 
     .setOAuthToken(token) 
     .addView(docsView) 
     .setOrigin(google.script.host.origin) 
     .setCallback(callback) 
     .build() 
    picker.setVisible(true); 

僅顯示選取器視圖中的文件夾。

var docsView = new google.picker.DocsView(google.picker.ViewId.FOLDERS).setParent('root'); 
    var picker = new google.picker.PickerBuilder() 
     .setSize("650","470") 
     .setOAuthToken(token) 
     .addView(docsView) 
     .setOrigin(google.script.host.origin) 
     .setCallback(callback) 
     .build() 
    picker.setVisible(true); 
+0

驅動器選擇器將不允許創建文件夾...的解決辦法是使用拾取之前創建的文件夾,使用'DriveApp.createFolder(「<<從用戶輸入>>」)。的getId ()'。然後你可以將ID傳遞給選擇器 – Ritz

+0

當我嘗試使用代碼「僅顯示選擇器視圖中的文件夾」時,出現以下錯誤「Uncaught TypeError:this.Jf不是函數」。也有興趣知道是否有任何方法來創建一個文件夾,然後選擇相同的使用這些API @Ritz –

+0

我能夠顯示文件夾....也許配置問題... [點擊這裏](https:/ /stackoverflow.com/questions/45529641/allow-multiple-files-upload-on-google-apps-script/45531077#45531077)關於配置的更多細節 – Ritz

相關問題