Я использую MS Graph API, чтобы попытаться прочитать сообщения с помощью сообщений. GetAsync ()
Я смог подключиться к API Graph, но нет ничего печатающего в консоли из электронных писем, таких как сообщение. Мне интересно, связано ли это со мной в ожидании функции getAsync .
Когда я перемещаю всю логику электронной почты в программу. С архитектурой услуг он не будет печатать ничего в консоли.
// Program.cs
builder.Services.AddScoped();
using IHost host = builder.Build();
using (IServiceScope scope = host.Services.CreateScope())
{
StartUp startUp = scope.ServiceProvider.GetRequiredService();
startUp.Start();
}
// startup.cs
public class StartUp
{
private readonly IEmailService _emailService;
public StartUp(IEmailService emailService)
{
_emailService = emailService;
}
public void Start()
{
_emailService.ProcessEmails();
}
}
// emailservice.cs
public async Task ProcessEmails()
{
try
{
using (var graphContext = _graphService.GetGraphContext())
{
string userId = _emailConfig.EmailName;
var messages = await graphContext.Users[userId].MailFolders["Inbox"].Messages.GetAsync();
if (messages != null && messages.Value != null)
{
foreach (var message in messages.Value)
{
Console.WriteLine($"From: {message.From?.EmailAddress?.Address}");
Console.WriteLine($"Subject: {message.Subject}");
message.Body.ContentType = BodyType.Text;
var updateMessage = new Message { IsRead = false };
await graphContext.Users[userId].Messages[message.Id].PatchAsync(updateMessage);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error in EmailService: {ex.Message}");
}
}
// graphservice.cs
public GraphServiceClient GetGraphContext()
{
string clientID = ClientID;
string clientSecret = ClientSecret;
string tenantID = TenantID;
ClientSecretCredential credential = new ClientSecretCredential(
tenantID,
clientID,
clientSecret
);
GraphServiceClient graphClient = new GraphServiceClient(credential);
return graphClient;
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... w-to-await
График API вызовы в сообщениях. GetAsync ничего не регистрируя, как ждать ⇐ C#
Место общения программистов C#
1757553606
Anonymous
Я использую MS Graph API, чтобы попытаться прочитать сообщения с помощью сообщений. GetAsync ()
Я смог подключиться к API Graph, но нет ничего печатающего в консоли из электронных писем, таких как сообщение. Мне интересно, связано ли это со мной в ожидании функции getAsync .
Когда я перемещаю всю логику электронной почты в программу. С архитектурой услуг он не будет печатать ничего в консоли.
// Program.cs
builder.Services.AddScoped();
using IHost host = builder.Build();
using (IServiceScope scope = host.Services.CreateScope())
{
StartUp startUp = scope.ServiceProvider.GetRequiredService();
startUp.Start();
}
// startup.cs
public class StartUp
{
private readonly IEmailService _emailService;
public StartUp(IEmailService emailService)
{
_emailService = emailService;
}
public void Start()
{
_emailService.ProcessEmails();
}
}
// emailservice.cs
public async Task ProcessEmails()
{
try
{
using (var graphContext = _graphService.GetGraphContext())
{
string userId = _emailConfig.EmailName;
var messages = await graphContext.Users[userId].MailFolders["Inbox"].Messages.GetAsync();
if (messages != null && messages.Value != null)
{
foreach (var message in messages.Value)
{
Console.WriteLine($"From: {message.From?.EmailAddress?.Address}");
Console.WriteLine($"Subject: {message.Subject}");
message.Body.ContentType = BodyType.Text;
var updateMessage = new Message { IsRead = false };
await graphContext.Users[userId].Messages[message.Id].PatchAsync(updateMessage);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error in EmailService: {ex.Message}");
}
}
// graphservice.cs
public GraphServiceClient GetGraphContext()
{
string clientID = ClientID;
string clientSecret = ClientSecret;
string tenantID = TenantID;
ClientSecretCredential credential = new ClientSecretCredential(
tenantID,
clientID,
clientSecret
);
GraphServiceClient graphClient = new GraphServiceClient(credential);
return graphClient;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79761394/graph-api-call-to-messages-getasync-not-logging-anything-how-to-await[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия