I have google drive picker that I use on my application to pick files. It has been working all these days, suddenly stopped working (the picker is just blank and chrome freezes). Below is the code I use -
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";
}
}
It was working all these while, but now all I see is this -
It opens on my localhost (though a little slow to load). The only difference I see is the oauthToken. Could that be a reason?
Thanks in advance!