Мне трудно отправить запрос POST
в API Outlook.
Я работаю на своей локальной машине и определил redirectUrl
для localhost:port
Мои GET
запросы работают:
var apiUrl = "https://outlook.office.com/api/v2.0/me/calendarview?startdatetime=" + startDateTime + "&enddatetime=" + endDateTime + "&$top=" + 10;
$.ajax({
type: 'GET',
url: apiUrl,
headers: {
"Authorization": "Bearer " + token
}
}).done(function (data) {
processResults(data);
}).fail(function (response) {
handleFailure();
});
но когда я пытаюсь отправить POST
, я получаю это сообщение:
Доступ запрещен. Проверьте учетные данные и повторите попытку.
и мой код:
var apiUrl = "https://outlook.office.com/api/v2.0/me/events";
var postData = {
"Subject": "Plan summer company picnic",
"Body": {
"ContentType": "HTML",
"Content": "Let's kick-start this event planning!"
},
"Start": {
"DateTime": "2019-01-15T11:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2019-01-15T12:00:00",
"TimeZone": "Pacific Standard Time"
},
"Attendees": [
{
"EmailAddress": {
"Address": "myMail@gmail.com",
"Name": "Name Here"
},
"Type": "Required"
}
]
};
$.ajax({
type: 'POST',
url: apiUrl,
headers: {
"Authorization": "Bearer " + token
},
contentType: 'application/json',
data: JSON.stringify(postData)
}).done(function (data) {
processResults(data);
}).fail(function (response) {
handleFailure();
});
В обоих случаях я использую один и тот же токен, так что, вероятно, это не проблема входа в систему. Я также позволил Calendars.ReadWrite
в приложении.
ОБНОВЛЕНИЕ
Я очистил кеш, вошел в систему, сделал GET
вызов, затем сделал POST
вызов, затем снова сделал GET
вызов. Оба GET
вызова работают, поэтому проблема не в токене или кеше.