4

我在使用 Google Picker 时遇到了一些我似乎无法解决的问题。

首先,我在通过谷歌选择器窗口登录我的谷歌账户时遇到问题(如https://groups.google.com/forum/#!topic/google-picker-api/3VXqKO1BD5g和其他地方报告的那样)。简而言之,选择器可以完美运行,直到它从登录操作返回为止。登录后无法加载选择器视图。采取的操作如下:

  1. 打开谷歌选择器
  2. 接收未登录页面,带有登录按钮。
  3. 按钮为谷歌登录打开一个新窗口。
  4. 输入详细信息并登录。登录成功。
  5. 登录窗口关闭,焦点返回到谷歌选择器,但无法识别登录,而是收到上面提到的“您请求的功能当前不可用。请稍后再试。” 错误。使用 js ReferenceError: init is not defined

其次,我在 IE10 中遇到问题,即使我是,浏览器也会显示“您未登录”屏幕。单击该按钮将打开立即关闭的登录窗口(已识别登录?),但谷歌选择器窗口上没有任何反应。

此处找到的示例:http : //www-personal.umich.edu/~johnathb/misc/gpicker.html 似乎在 IE10 上工作得很好。所以我不确定问题是什么..可能的区别是:

  • 我在我的网站上启用了 Https(但关闭后似乎没有什么不同)。
  • 我目前正在 Intranet 中运行我的应用程序(尽管可以访问 Internet)。
  • 与公共IP有关吗?但这并不能解释为什么 Google Picker 在 Firefox 等中工作。

用于加载和处理选取器的代码如下所示:

$('.googleDrivePicker').click(function () {
    var inputControl = $(this).data('inputid');
    // Google Picker API for the Google Docs import
    google.load('picker',
        '1',
        {"language": '@Session["kieli"]',
            "callback" : function () {
            // Create and render a Picker object for searching images.
            var picker = new google.picker.PickerBuilder().
                addView(google.picker.ViewId.DOCS).
                addView(google.picker.ViewId.IMAGE_SEARCH).
                setCallback(function (data) {
                    // A simple callback implementation.
                    var url = '';
                    if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
                        var doc = data[google.picker.Response.DOCUMENTS][0];
                        url = doc[google.picker.Document.EMBEDDABLE_URL] || doc[google.picker.Document.URL];
                        $('#' + inputControl).val(url).change();
                    }
                }).
                build();
                picker.setVisible(true);
                $('.picker.modal-dialog-bg').css('z-index', 1101);
                $('.picker.modal-dialog.picker-dialog').css('z-index', 1102);
            }
        });
    });

非常感谢您对上述任何一个问题的帮助。

4

0 回答 0