Tôi đang cố gắng sử dụng ổ đĩa Google để liệt kê các tệp.API Google Drive javascript
Sử dụng câu trả lời trong https://stackoverflow.com/a/11280257 Tôi đã tìm thấy sự cố mà tôi không thể khám phá lý do.
var clientId = '*********.apps.googleusercontent.com';
var apiKey = '##########';
var scopes = 'https://www.googleapis.com/auth/drive';
function handleClientLoad() {
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true},handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.visibility = 'hidden';
makeApiCall();
}
else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
}
function handleAuthClick(event) {
gapi.auth.authorize({client_id: clientId, scope: [scopes], immediate: false}, handleAuthResult);
return false;
}
function makeApiCall() {
gapi.client.load('drive', 'v2', makeRequest);
}
function makeRequest()
{
var request = gapi.client.drive.files.list({'maxResults': 5 });
request.execute(function(resp) {
for (i=0; i<resp.items.length; i++) {
var titulo = resp.items[i].title;
var fechaUpd = resp.items[i].modifiedDate;
var userUpd = resp.items[i].lastModifyingUserName;
var userEmbed = resp.items[i].embedLink;
var userAltLink = resp.items[i].alternateLink;
var fileInfo = document.createElement('li');
fileInfo.appendChild(document.createTextNode('TITLE: ' + titulo + ' - LAST MODIF: ' + fechaUpd + ' - BY: ' + userUpd));
document.getElementById('content').appendChild(fileInfo);
}
});
}
Tôi có lỗi này:
Uncaught TypeError: Cannot read property 'files' of undefined
trong dòng
var request = gapi.client.drive.files.list({'maxResults': 5 });
Cảm ơn đã chia sẻ! Điều này làm việc cho tôi. Tôi thấy thật lạ khi mã được đăng dưới dạng ví dụ trong tài liệu API không hoạt động như mong đợi ... – Nielsm