问题描述
我在我的应用程序中使用了谷歌驱动器选择器来选择文件。这些天一直在工作,突然停止工作(选择器只是空白,chrome 冻结)。下面是我使用的代码 -
function showPicker(pickerOptions,callback,callbackScope) {
var me = this;
var pickerBuilder = new google.picker.PickerBuilder();
pickerBuilder.setoAuthToken(google.Google.getGoogleUser().getAuthResponse().access_token);
pickerBuilder.enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES);
// This feature need to be set to force `setParent` work.
// Seems to be Drive Picker's bug
pickerBuilder.enableFeature(google.picker.Feature.MULTISELECT_ENABLED);
pickerBuilder.setRelayUrl(window.location.protocol + '//' + window.location.host);
pickerBuilder.setorigin(window.location.protocol + '//' + window.location.host);
// if ( pickerOptions.document ) {
// pickerBuilder.setDocument(pickerOptions.document);
// }
if ( pickerOptions.title ) {
pickerBuilder.setTitle(pickerOptions.title);
}
if ( pickerOptions.enableMyDrive ) {
var myDrive = new google.picker.DocsView(google.picker.ViewId[pickerOptions.viewType] || google.picker.ViewId.DOCS)
.setIncludeFolders(true)
.setLabel('My Drive');
if ( pickerOptions.selectFolderEnabled ) {
myDrive.setSelectFolderEnabled(true);
}
me._setPickerviewmode(myDrive,pickerOptions.viewmode);
if ( pickerOptions.mimeTypes ) {
myDrive.setMimeTypes(pickerOptions.mimeTypes);
}
pickerBuilder.addView(myDrive);
}
if ( !pickerOptions.tabs ) {
// Let users to select files from any Team Drive
var multiTeamDrive = new google.picker.DocsView(google.picker.ViewId[pickerOptions.viewType] || google.picker.ViewId.DOCS)
.setIncludeFolders(true)
.setEnableTeamDrives(true)
.setLabel('Team Drives');
if ( pickerOptions.selectFolderEnabled ) {
multiTeamDrive.setSelectFolderEnabled(true);
}
me._setPickerviewmode(multiTeamDrive,pickerOptions.viewmode);
if ( pickerOptions.mimeTypes ) {
multiTeamDrive.setMimeTypes(pickerOptions.mimeTypes);
}
pickerBuilder.addView(multiTeamDrive);
} else {
for ( var i = 0; i < pickerOptions.tabs.length; i++ ) {
var tab = pickerOptions.tabs[i];
if ( tab.label ) {
// Label is the minimum required
var view = new google.picker.DocsView(google.picker.ViewId[tab.viewType] || google.picker.ViewId[pickerOptions.viewType] || google.picker.ViewId.DOCS)
.setIncludeFolders(true)
.setEnableTeamDrives(true);
if ( pickerOptions.selectFolderEnabled ) {
view.setSelectFolderEnabled(true);
}
if ( tab.parent ) {
view.setParent(tab.parent);
}
me._setPickerviewmode(view,tab.viewmode || pickerOptions.viewmode);
if ( tab.mimeTypes || pickerOptions.mimeTypes ) {
view.setMimeTypes(tab.mimeTypes || pickerOptions.mimeTypes);
}
view.setLabel(tab.label);
pickerBuilder.addView(view);
}
}
}
if ( pickerOptions.upload && pickerOptions.upload.enabled ) {
// Force users to upload files to a specific Team Drive
var uploadView = new google.picker.DocsuploadView();
if ( pickerOptions.upload.parent ) {
uploadView.setParent(pickerOptions.upload.parent);
}
if ( pickerOptions.upload.label ) {
uploadView.setLabel(pickerOptions.upload.label);
}
if ( pickerOptions.upload.mimeTypes || pickerOptions.mimeTypes ) {
view.setMimeTypes(pickerOptions.upload.mimeTypes || pickerOptions.mimeTypes);
}
pickerBuilder.addView(uploadView);
}
})
var picker = pickerBuilder.build();
picker.setVisible(true);
var elements= document.getElementsByClassName('picker-dialog');
for(var i=0;i<elements.length;i++)
{
elements[i].style.zIndex = "99999999999999";
}
}
它在我的本地主机上打开(虽然加载有点慢)。我看到的唯一区别是 oauthToken。这可能是一个原因吗?
提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)