2017-08-07 48 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

相关问题