#javascript #google-api #google-drive-api
#javascript #google-api #google-drive-api
Вопрос:
Вот код, который я пробовал, весь код работает хорошо, но когда он попадает под эту функцию ‘function makeRequest() {‘, тогда код не выполняется и останавливается, я думаю, что есть проблема, в ответ эта функция получает
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
var CLIENT_ID = '988680082729- gudaete5nph93lq1sma15pb9cevi686r.apps.googleusercontent.com';
var API_KEY = 'AIzaSyDPC8gi0zrOFBQmxfgh7rXPU8EQDPe5w-Y';
var SCOPES = 'https://www.googleapis.com/auth/drive';
function handleClientLoad() {
gapi.client.setApiKey(API_KEY);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
var options = {
client_id: CLIENT_ID,
scope: SCOPES,
immediate: true
};
gapi.auth.authorize(options, handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult amp;amp; !authResult.error) {
authorizeButton.style.visibility = 'hidden';
makeApiCall();
} else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
}
function handleAuthClick(event) {
var options = {
client_id: CLIENT_ID,
scope: SCOPES,
immediate: false
};
gapi.auth.authorize(options, 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);
}
});
}
$(document).ready(function() {
$('#authorize-button').on('click', handleAuthClick);
$.getScript('//apis.google.com/js/api.js', function() {
gapi.load('auth:client', handleClientLoad);
});
});
</script>
</head>
<body>
<button id="authorize-button">Authorize</button>
<div id="content">Files:</div>
</body>
</html>
Ответ №1:
Ваш запрос вернет объект, элементы которого находятся в результирующем объекте, который содержится в ответе, когда я запрашиваю список файлов. Попробуйте поискать resp.result.items
в вашей makeRequest()
функции.