我有
我有一个 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
然后我得到了用户选择的对象属性列表。
- 我看到
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();
}
});
}
);
});
这与身份验证有关,imo,但根据 Google 本身的最新帖子,TOKEN 管理已被弃用并实际上被删除。
问题
如何从 Google Drive 中读取用户文件选择的内容?