我正在使用Google Picker中的一个Google Sheet插件。我正在使用以下JS加载API。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>google.load("picker", "1.0");</script>
下面是创建和显示选取器的代码,现在我想在选取器窗口中显示共享驱动器,因为我添加了view.setEnableDrives(true);
和.enableFeature(google.picker.Feature.SUPPORT_DRIVES)
,添加view.setEnableDrives(true);
后它开始失败,如果我删除此行,它工作正常(没有共享驱动器)。
function showSheetPicker(config) {
var view = new google.picker.DocsView(google.picker.ViewId.SPREADSHEETS);
view.setParent('root');
view.setIncludeFolders(true);
view.setEnableDrives(true); // this line gives error
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.SUPPORT_DRIVES)
.addView(docsView)
.addView(folderView)
.hideTitleBar()
.setOAuthToken(config.token)
.setDeveloperKey(config.developerKey)
.setCallback(onSheetSelected)
.setOrigin(google.script.host.origin)
.setSize(700, 500)
.build();
picker.setVisible(true);
}
以下是我在浏览器控制台中得到的错误。
userCodeAppPanel:55 Uncaught TypeError: view.setEnableDrives is not a function
at showSheetPicker (userCodeAppPanel:55)
at df (1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:72)
at 1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:15
at qg.J (1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:99)
at Kd (1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:47)
at Gd (1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:48)
at Ed.b (1551822985-mae_html_user_bin_i18n_mae_html_user__en_gb.js:44)
在这方面的任何帮助都将非常感谢。
发布于 2020-04-30 18:50:03
如果调试Picker API 1.0版中使用的view
对象,您将看到没有可用的setEnableDrives(boolean)
方法。
尝试加载受支持的API版本,以便文档更加一致。正如您在文档指南中所读到的,您应该使用以下方法加载选取器API:
<script>
function loadPicker() {
gapi.load('picker', {'callback': showSheetPicker});
}
</script>
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=loadPicker"></script>
参考文献:
https://stackoverflow.com/questions/61514151
复制相似问题