2016-09-27 82 views
0

我的團隊和我構建的Web App使用Microsoft Graph API從用戶的Office 365環境中恢復數據。該應用程序使用Azure AD爲用戶提供訪問令牌。如何使用從Microsoft Graph API獲取的訪問令牌來訪問其他API

我們現在試圖添加一個組件,該組件可以使用EWS Api訪問同一用戶的Exchange Online信息。但是,似乎試圖使用與Graph API提供的訪問令牌相同的訪問令牌,即使必須在我的Azure AD應用程序上設置適當的權限,也總是返回401(未授權)響應。下面是我們用來嘗試訪問某些用戶信息的代碼:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013); 
service.HttpHeaders.Add("Authorization", "Bearer " + accessToken); 
service.PreAuthenticate = true; 
service.SendClientLatencies = true; 
service.EnableScpLookup = false; 
service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
TasksFolder tasksfolder = TasksFolder.Bind(service, WellKnownFolderName.Tasks, 
         new PropertySet(BasePropertySet.IdOnly, FolderSchema.TotalCount)); 

bind方法將總是返回401錯誤,提示我覺得從一個API療法訪問令牌是無效的一個又一個。

如果是這樣的話,是否有可能獲得一個單一的訪問令牌,將有效的多個API調用?

+0

你解決這個問題?我不能看到一個許可措辭,就像Azure應用程序權限中的第一個答案一樣 – amlwwalker

回答

相關問題