1

我開發一個應用程序後臺程序與微軟365處規劃師交互操作的Microsoft Graph任務。當我調用Microsoft Graph API來獲取與我的租戶相關的任務時,我收到了未經授權的請求例外。訪問租戶微軟從圖形應用程序守護

我已經註冊了我的Azure中的Active Directory應用程序,也把它的權限來使用Microsoft圖表。

我請求基於過程從這裏訪問令牌: https://graph.microsoft.io/en-us/docs/authorization/app_only

我能夠從Azure中的Active Directory V2.0端點獲取令牌。 請求代碼如下:

new KeyValuePair<string, string>("grant_type", "client_credentials"), 
     new KeyValuePair<string, string>("client_id", "<clent id>"), 
     new KeyValuePair<string, string>("client_secret", "<client secret>"), 
     new KeyValuePair<string, string>("resource", @"https://graph.microsoft.com") 
    var content = new FormUrlEncodedContent(pairs); 

    var response = client.PostAsync("https://login.microsoftonline.com/<tenant id>/oauth2/token", content).Result; 

當我使用這個訪問令牌來執行的請求如下:

 client.DefaultRequestHeaders.Authorization= new AuthenticationHeaderValue("Bearer", token); 

    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded")); 

    var response = client.GetAsync(@"https://graph.microsoft.com/beta/tasks").Result;   

我得到一個狀態代碼401未經授權使用以下響應消息:

Unauthorized: Access is denied due to invalid credentials. 
You do not have permission to view this directory or page using the credentials that you supplied. 

有沒有我還沒有進行授權訪問我的應用程序的任何授權過程。請幫忙!!!!

在此先感謝!

回答

0

根據測試,似乎微軟圖形不支持列出與-唯一的應用程序令牌任務。我授予Group.ReadAll應用權限的應用程序後,我得到了錯誤,如下面的要求:

GET:https://graph.microsoft.com/beta/tasks?$filter=createdBy+eq+'[email protected]' 

enter image description here

但是該請求與委託令牌具有相同的權限調用成功: enter image description here

作爲解決方法,您可以檢查OAuth2代碼授權流程是否對您的方案有幫助。

其他用戶提出了有關使用該應用程序,只是象徵性地,你可以投票從here這個反饋,如果你還想要這個功能,列出任務的反饋。

相關問題