Я проверил другие сообщения, связанные с этой проблемой, и они не совпадают: я использую «ответ», я скопировал дату/время с сайта google api, поэтому формат правильно, и я играл с заголовками. Любые другие идеи, почему это не работает?API событий Google Calendar для вставки броска 400
Я получаю следующее сообщение об ошибке:
Error: failed [400] { "error": { "errors": [ { "domain": "global", "reason": "required", "message": "Missing end time." } ], "code": 400, "message": "Missing end time." } } [object Object]
Мой код ниже с разбивкой на этапы: URL я собираюсь POST, маркер доступа пользователя, параметры для вставленного события календаря, включая заголовок и событие с начала, конца и краткое описание событий и фактического HTTP POST и обратного вызова функции:
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);
});
}
}