3

我有

我有一个 web/html5 应用程序,我在其中向用户提供了一个功能来可视化经过身份验证的用户的 Google Drive 内容文件并选择它们。

我成功使用了 google.picker UI 界面,效果很好。例子:

   var view = new google.picker.View(google.picker.ViewId.DOCS);

    var picker = new google.picker.PickerBuilder()
      .enableFeature(google.picker.Feature.NAV_HIDDEN)
      .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
      .setAppId('MY_CLIENT_ID')       
      .addView(view)
      .setCallback(pickerCallback)
      .build();
    picker.setVisible(true);

问题

有一次用户从 UI 中选择了文件,pickerCallback然后我得到了用户选择的对象属性列表。

在此处输入图像描述

  1. 我看到driveError:“错误”和driveSuccess:假
  2. 在我无法使用更多下载该文件之后gapi

我的尝试是这样的:

        gapi.client.setApiKey('MY_API_KEY');
        gapi.client.load('drive', 'v2', function () {

            var scopes = 'https://www.googleapis.com/auth/drive';
            gapi.auth.authorize({ client_id: "MY_CLIENT_ID", scope: scopes, immediate: true },
            function () {

                //TOKEN IS ALWAYS NULL !! 
                var myToken = gapi.auth.getToken();
                gapi.client.request({
                    'path': '/drive/v2/files/' + file.id,
                    'method': 'GET',
                    callback: function (theResponseJS, theResponseTXT) {

                        var myXHR = new XMLHttpRequest();
                        myXHR.open('GET', theResponseJS.downloadUrl, true);   
                        myXHR.onreadystatechange = function (theProgressEvent) {
                            if (myXHR.readyState == 4) {
                                if (myXHR.status == 200) {
                                    //200=OK
                                    console.log(myXHR.response);
                                }
                            }
                        }
                        myXHR.send();
                    }
                });
            }

            );

        });

这与身份验证有关,imo,但根据 Google 本身的最新帖子,TOKEN 管理已被弃用并实际上被删除。

问题

如何从 Google Drive 中读取用户文件选择的内容?

4

1 回答 1

1

您是否将上面代码中的MY_APP_ID,MY_API_KEYMY_CLIENT_ID占位符替换为 API 控制台中的实际值?

于 2013-04-02T17:03:26.880 回答