私は持っている
認証されたユーザーの 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
が呼び出され、ユーザーが選択したオブジェクト プロパティのリストが取得されます。
- 私が見る
driveError
:「エラー」とdriveSuccess
:偽 - を使用してそのファイルをダウンロードできなくなった後
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 ドライブから読み取るにはどうすればよいですか?