5

我正在使用 Google Drive 的插件 Picker。我的想法是仅选择文件夹并获取其 ID。

目前不允许我选择它们,现在只能进入该目录。我正在使用这段代码:

    function MenuCtrl($scope, $location, appId) {
    var onFilePicked = function (data) {
        $scope.$apply(function () {
            if (data.action == 'picked') {
                var id = data.docs[0].id;
                $location.path('/edit/' + id);
            }
        });
    };
    $scope.open = function () {
        var view = new google.picker.View(google.picker.ViewId.FOLDERS);
        view.setMimeTypes('application/vnd.google-apps.folder');

        var picker = new google.picker.PickerBuilder()
            .setAppId(appId)
            .addView(view)
            .setCallback(angular.bind(this, onFilePicked))
            .build();
        picker.setVisible(true);


    };
    $scope.create = function () {
        this.editor.create();
    };
    $scope.save = function () {
        this.editor.save(true);
    }
}

我怎样才能在不进入的情况下获得选定的文件夹?

非常感谢您的提前和问候。

4

2 回答 2

32

我解决了这个问题,这是新代码:

$scope.open = function () {

        var docsView = new google.picker.DocsView()
          .setIncludeFolders(true) 
          .setMimeTypes('application/vnd.google-apps.folder')
          .setSelectFolderEnabled(true);


        var picker = new google.picker.PickerBuilder()
          .addView(docsView)
          .setCallback(callback)
          .build();

        picker.setVisible(true);
});

感谢您的帮助和问候!

于 2014-01-17T12:49:43.533 回答
0

我相信从 2014 年 1 月 15 日起,Picker 要求设置 OAuthtoken,即。您需要包含“setOAuthToken(oauthToken)”。在您的 PickerBuilder 中

于 2014-01-17T05:58:21.723 回答