3

私は持っている

認証されたユーザーの Google ドライブのコンテンツ ファイルを視覚化して選択する機能をユーザーに提供する web/html5 アプリケーションがあります。

私は成功した 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();
                    }
                });
            }

            );

        });

これは認証と関係がありますが、Google 自体からの最新の投稿によると、TOKEN 管理は廃止され、実際には削除されました。

質問

ユーザーが選択したファイルのコンテンツを Google ドライブから読み取るにはどうすればよいですか?

4

1 に答える 1

1

上記のコードのとプレースホルダーをMY_APP_ID、API コンソールからの実際の値に置き換えていますか?MY_API_KEYMY_CLIENT_ID

于 2013-04-02T17:03:26.880 に答える