Outlook REST API를 사용하여 사용자의 Outlook 메일에서 이메일을 가져 오려고합니다. 또한사용자의 이메일을 가져 오는 동안 Outlook REST API 403 오류가 발생했습니다.
GET https://outlook.office.com/api/v2.0/me/messages?callback=jQuery31008093694845457056_1490285639120 403 (Forbidden)
, 내가 error
에서 오류 다음 얻을 : 나는 아웃룩 REST API에, 나는 다음과 같은 오류가 발생합니다 AJAX
전화를 걸 때 성공적으로하지만, 사용자를 인증하고 토큰에 대한 사용자 액세스를 얻을 수 있었다 AJAX
의 기능 콜백 : 내 코드
Object {readyState: 4, status: 404, statusText: "error"}
입니다 :
var ADAL = new AuthenticationContext({
instance: 'https://login.microsoftonline.com/',
tenant: 'common',
clientId: '', //Intentionally left blank here
redirectUri: 'http://localhost:8383/',
callback: userSignedIn,
popUp: true
});
function signIn() {
ADAL.login();
}
function userSignedIn(err, token) {
console.log('userSignedIn called');
if (!err) {
console.log(token); //This works!
fetchUserSentMails(token);
} else {
console.error("error: " + err);
}
}
function fetchUserSentMails(token) {
var user = ADAL.getCachedUser();
console.log(user.profile.name); //This works!
$.ajax({ //This doesn't work
type: 'GET',
crossDomain: true,
url: 'https://outlook.office.com/api/v2.0/me/messages',
dataType: 'jsonp',
headers: {'Authorization': 'Bearer ' + token},
success: function (res) {
console.log(res);
},
error: function (x, t, m) {
console.log(x);
console.log(t);
console.log(m);
}
});
}
내가 무슨 일을하고 있는가?
나는 토큰이'id_token'이고 Outlook Mail API에 액세스하기위한'access_token'이 아니라고 생각한다. –
예. 맞습니다. 나는 당신이 놓친 것 같아요 몇 가지 코드로 내 대답을 업데이 트거야. –
그 코드를 추가했습니다. 그러나 '오류 : "시간 초과"오류로 인해 토큰 갱신 작업이 실패했습니다. 그러나이 오류를 검색하고 위의 코드 바로 앞에 'ADALContext.handleWindowCallback()'을 추가했지만 무한 루프가 시작됩니다. 나는 크롬 개발 도구의 '로컬 저장소'에서 만료 된 'id_tokens'를 지우려고했지만, 여전히 같은 오류입니다. 내가 도대체 뭘 잘못하고있는 겁니까?? –