안녕하세요. 내 주요 목표는 Google 캘린더의 모든 일정을 잡아서 날짜와 시간 (사용 가능한 경우 시간)과 함께 표시하는 것입니다. 자바 스크립트 구글 캘린더 api v3을 사용하고 있으며 각 이벤트의 날짜를 잡는 데 어려움을 겪고 있습니다. 내가 더 여기 내 문제를 설명하기 전에 현재의 코드입니다 :javascript google calendar api v3을 사용하여 특정 날짜의 일정 가져 오기
이 var clientId = '200816328603.apps.googleusercontent.com';
var apiKey = 'AIzaSyD3rbV__d8u6r9u5GioBU0oVwa-53YXRqM';
var scopes = 'https://www.googleapis.com/auth/calendar';
function handleClientLoad() {
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuth,1);
checkAuth();
}
function checkAuth() {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true},
handleAuthResult);
}
function handleAuthResult(authResult) {
var authorizeButton = document.getElementById('authorize-button');
if (authResult) {
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;
}
//document.createTextNode(resp.items[i].summary)
function makeApiCall() {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.events.list({
'calendarId': '[email protected]com'
});
request.execute(function(resp) {
for (var i = 0; i < resp.items.length; i++) {
//---------nodes for html elements
var title = document.createTextNode(resp.items[i].summary); //titles are undefined so I'm using the summary as title instead
//var description = document.createTextNode(resp.items[i].description); //there are no descriptions apparently
var date = document.createTextNode('Start: ' + resp.items[i].start.date + ' End: ' + resp.items[i].end.date); //resp.items[i].date returns undefined
//---------html elements
var div = document.createElement('div');
div.className = resp.items[i].summary;
var h1 = document.createElement('h1');
h1.appendChild(title);
div.appendChild(h1);
//loop is to filter out all the undefined
if (date.textContent != 'Start: undefined End: undefined') {
var p = document.createElement('p');
p.appendChild(date);
div.appendChild(p);
}
document.body.appendChild(div);
}
});
});
}
이제 resp.items [I] .start.date 및 resp.items [i]를 .end.date 가끔하지만 때로는 날짜를 반환합니다 그냥 정의되지 않은 값을 반환합니다. 그러면 그 사건의 날짜를 어떻게 알 수 있습니까?
이 문제를 해결하기위한 아이디어는 매월 매일 반복하고 그날 모든 이벤트를 가져 오는 것입니다. 그러나 원하는 시간에 대한 RFC3339 타임 스탬프가있는 timeMax 및 timeMin 매개 변수를 추가하려고 시도했지만 아무 것도 반환하지 않았습니다. 누군가가 이것을 달성하기위한 모범을 보여줄 수 있습니까?
도움을 주시면 대단히 감사하겠습니다.