Как получить доступ к общему почтовому ящику с помощью Microsoft Graph в ядре .netC#

Место общения программистов C#
Ответить
Anonymous
 Как получить доступ к общему почтовому ящику с помощью Microsoft Graph в ядре .net

Сообщение Anonymous »

У меня есть приложение, которое может получить доступ к моему почтовому ящику. Я создал приложение, следуя этому руководству:
https://learn.microsoft.com/en-us/graph ... ial-step=1
Затем я адаптировал приложение для чтения почты. Это отлично работает для моей почты. Однако мне нужен доступ к общему почтовому ящику, к которому у меня есть доступ, и я могу читать электронные письма в Outlook.
Я попытался сделать это, используя следующий код:

Код: Выделить всё

public static async Task GetMailAsync()
{
var graphClient = GetAuthenticatedClient();

var mail = await graphClient.Users["usersemail@somewhere.com"].MailFolders.Inbox.Messages.Request()
.GetAsync();

return mail;
}
Однако я получаю несанкционированную ошибку:
Изображение

Вот мой код авторизации:

Код: Выделить всё

private static GraphServiceClient GetAuthenticatedClient()
{
return new GraphServiceClient(
new DelegateAuthenticationProvider(
async (requestMessage) =>
{
// Get the signed in user's id and create a token cache
string signedInUserId = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;
HttpContextWrapper httpContext = new HttpContextWrapper(HttpContext.Current);
TokenCache tokenStore = new SessionTokenStore(signedInUserId,
httpContext).GetMsalCacheInstance();

var idClient = new ConfidentialClientApplication(
appId, redirectUri, new ClientCredential(appSecret),
tokenStore, null);

var accounts = await idClient.GetAccountsAsync();

// By calling this here, the token can be refreshed
// if it's expired right before the Graph call is made
var result = await idClient.AcquireTokenSilentAsync(
graphScopes.Split(' '), accounts.FirstOrDefault());

requestMessage.Headers.Authorization =
new AuthenticationHeaderValue("Bearer", result.AccessToken);
}));
}
Я добавил разрешения в приложение
Изображение

Может ли кто-нибудь заметить, что я здесь делаю не так? В некоторых сообщениях говорится, что это невозможно сделать таким способом (Microsoft Graph API .NET не может читать общую почту, Microsoft Graph API SDK .NET Проблемы с получением электронных писем других пользователей), но я могу заставить его работать в обозревателе графов.
Буду благодарен за любую помощь, включая советы о том, как я могу улучшить свои вопросы.

Подробнее здесь: https://stackoverflow.com/questions/542 ... n-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»