J'utilise un script pour télécharger des événements de Google Agenda dans une feuille de calcul. J'ai un problème où les «événements toute la journée» arrivent en 2 jours, par exemple: toute la journée, le 5/9/17 téléchargements dans la feuille comme 5/9/17-5/10/17. Voici mon code:Pourquoi chaque événement d'une journée est représenté comme un événement de deux jours?
// Loop through all calendar events found and write them out starting on calulated ROW 2 (i+2)
for (var i=0;i<events.length;i++) {
var row=i+2;
var myformula_placeholder = '';
// Matching the "header=" entry above, this is the detailed row entry "details=",
// and must match the number of entries of the GetRange entry below
// NOTE: I've had problems with the getVisibility for some older events not having a value,
// so I've had do add in some NULL text to make sure it does not error
var details=[[
events[i].getStartTime(),
events[i].getTitle(),
events[i].getAllDayStartDate(),
events[i].getAllDayEndDate(),
events[i].getLocation(),
events[i].getDescription(),
events[i].getId()
]];
var range=sheet.getRange(row,1,1,7);
range.setValues(details);
}
Toute idée de ce qui pourrait se produire ici? Est-ce un bug ou y a-t-il une erreur dans mon code? Je suppose qu'une solution de contournement pourrait être de soustraire 1 jour de chaque numéro AllDayEndDate
, mais se demandant pourquoi cela arrive même en premier lieu.
appel réussi à des méthodes renvoie une réponse d'événements à la fois (https://developers.google.com/google-apps/calendar/v3/reference/events#resource) [dates de début et de fin] comme vous pouvez le voir dans la ressource des événements. – noogui