簡體   English   中英

C# 中的 Microsoft Graph“訪問被拒絕。檢查憑據並重試”

[英]Microsoft Graph "Access is denied. Check credentials and try again" in C#

這是我通過 Microsoft Graph 從我的 email 帳戶獲取電子郵件的代碼,但無論憑據如何,我都會不斷收到錯誤消息。

代碼:

var scopes = new[] { "https://graph.microsoft.com/.default" };
var tenantId = "";
var clientId = "";
var clientSecret = "";

var clientSecretCredential = new ClientSecretCredential(
    tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
var inboxMessages = await graphClient
                        .Users["email"]
                        .MailFolders["inbox"]
                        .Messages
                        .Request()
                        .Expand("attachments")
                        .Top(20)
                        .GetAsync();
Console.WriteLine(inboxMessages);
Console.ReadLine();

錯誤:

在此處輸入圖像描述

權限:

在此處輸入圖像描述

在客戶端憑證流中,不會有任何用戶身份驗證,因此委托權限不起作用。 請在 azure 廣告中授予 API 權限中的應用程序權限。

有兩種類型的權限。 應用程序權限和委托權限。 在這里,如果您有一個用戶登錄到應用程序,那么您將使用不同的流程,並且您可以使用這些委派的權限。 但是這里沒有用戶,因為它是客戶端憑證流。 所以使用應用程序權限使上面的代碼工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM