2017-03-06 13 views
0

Outlook 캘린더에서 이벤트를 인증하고 가져 오려고합니다. 사용자를 로그인하고 인증 할 수 있지만 이벤트를 가져 오려고 할 때 출처와 관련된 문제가 발생합니다. 끝에No-Control-Allow-Origin 문제가 Outlook 일정에 대해 get events api를 호출하는 중입니다.

<button id="SignIn" onclick="signIn()">Sign In</button> 
 
<h4 id="WelcomeMessage"></h4> 
 
    
 
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.12/js/adal.min.js"></script> 
 
<script> 
 
    var ADAL = new AuthenticationContext({ 
 
     instance: 'https://login.microsoftonline.com/', 
 
     tenant: 'common', //COMMON OR YOUR TENANT ID 
 

 
     clientId: '<its my client id>', //This is your client ID 
 
     redirectUri: 'http://localhost:8000', //This is your redirect URI 
 

 
     callback: userSignedIn, 
 
     popUp: true 
 
    }); 
 

 
\t window.authContext = new AuthenticationContext(ADAL); 
 

 
    var isCallback = authContext.isCallback(window.location.hash); 
 
    authContext.handleWindowCallback(); 
 
    
 
    function signIn() { 
 
     ADAL.login(); 
 
    } 
 

 
    function userSignedIn(err, token) { 
 
     console.log('userSignedIn called'); 
 
     if (!err) { 
 
      console.log("token: " + token); 
 
      showWelcomeMessage(); 
 
     } 
 
     else { 
 
      console.error("error: " + err); 
 
     } 
 
    } 
 

 
    function showWelcomeMessage() { 
 
     var user = ADAL.getCachedUser(); 
 
     var divWelcome = document.getElementById('WelcomeMessage'); 
 
     divWelcome.innerHTML = "Welcome " + user.profile.name; 
 
\t loadEvents(); 
 
    } 
 

 
    function loadEvents() { 
 
    console.log("in load events"); 
 
    var xhr = new XMLHttpRequest(); 
 
    xhr.open("GET", "https://outlook.office.com/api/v2.0/me/calendarview?startDateTime=2016-10-01T01:00:00&endDateTime=2016-10-31T23:00:00&$select=Subject", true); 
 
    xhr.send();} 
 
</script>

이 내 오류가 스크립트를 실행 한 후 :

여기 내 코드입니다.

this is my error

어떤 도움

에 감사드립니다. 감사합니다

+0

https://outlook.office365.com 대신 https://outlook.office.com을 사용하는 이유가 있습니까? –

답변

0

가능성이 있습니다 : 귀하의 토큰은 outlook.office365.com에 유효하지만 지금은 outlook.office.com을 사용하려고합니다. 이것이 맞는 것인지 확인하려면 localStorage 또는 sessionStorage를 확인하십시오. 다음 이미지를 참조하십시오. enter image description here