微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google 选择器根本不加载

如何解决Google 选择器根本不加载

我在我的应用程序中使用了谷歌驱动器选择器来选择文件。这些天一直在工作,突然停止工作(选择器只是空白,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";
    }
}

它一直在工作,但现在我只看到这个 -

enter image description here

它在我的本地主机上打开(虽然加载有点慢)。我看到的唯一区别是 oauthToken。这可能是一个原因吗?

提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?