Я проверил другие сообщения, связанные с этой проблемой, и они не совпадают: я использую «ответ», я скопировал дату / время с веб-сайта google api, поэтому формат правильный, и я поиграл с заголовками . Любые другие идеи, почему это не работает?
Я получаю следующую ошибку:
Error: failed [400] { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Missing end time." } ], "code": 400, "message": "Missing end time." } } [object Object]
Мой код ниже разбит на шаги: URL-адрес, по которому я собираюсь выполнить POST, токен доступа пользователя, параметры для вставленного календарного события, включая заголовки и событие с началом, концом и сводкой событий, а также фактическая http-запись и функция обратного вызова :
calendarSchedule() {
if(Meteor.user() && moment(Meteor.user().services.google.expiresAt) > moment()._d) {
var url = "https://www.googleapis.com/calendar/v3/calendars/primary/events";
var userAccessToken = Meteor.user().services.google.accessToken;
var options = {
headers : {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + userAccessToken,
'X-JavaScript-User-Agent': "Google APIs Explorer",
},
calendarId: 'primary',
resource : {
start: { dateTime: "2016-05-03T18:03:58+02:00" },
end: { dateTime: "2016-05-03T18:03:58+02:00" },
summary: "testSummar",
}
};
HTTP.post(url, options,
function(error,result) {
console.log("posted to calendar? "+ error+ result);
});
}
}