[英]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.