在没有UI的情况下访问Office 365 API

时间:2018-11-30 14:44:44

标签: c# .net .net-core office365 asp.net-core-2.0

我需要编写一个.NET Core控制台应用程序,该应用程序从Office 365帐户获取一些电子邮件。

是否有可能在没有使用电子邮件和密码的任何弹出窗口和UI的情况下访问Office 365 API?

我尝试了在Azure Active Directory中注册应用程序的解决方案,但是它实际上并不适合我的目的,因为登录的用户必须与特定的AAD帐户关联。

我在Stuck Overflow上发现了这样的问题,但它们都与API的旧版本和旧方法有关。

我一直在寻找解决方案达4天,并且阅读了大量文档,但是我仍然受阻。

1 个答案:

答案 0 :(得分:1)

以下示例使用的是Exchange API,而不是Office 365 API。

这是登录Office 365的Exchange服务器并将日历项发送到电子邮件地址的示例。

//Connect to exchange
var ewsProxy = new ExchangeService(ExchangeVersion.Exchange2013);
ewsProxy.Url = new Uri("https://outlook.office365.com/ews/exchange.asmx");

//Create the meeting
var meeting = new Appointment(ewsProxy);

ewsProxy.Credentials = new NetworkCredential(_Username, _Password);
meeting.RequiredAttendees.Add(_Recipient);

// Set the properties on the meeting object to create the meeting.
meeting.Subject = "Meeting";
meeting.Body = "Please go to the meeting.";
meeting.Start = DateTime.Now.AddHours(1);
meeting.End = DateTime.Now.AddHours(2);
meeting.Location = "Location";
meeting.ReminderMinutesBeforeStart = 60;

// Save the meeting to the Calendar folder and send the meeting request.
meeting.Save(SendInvitationsMode.SendToAllAndSaveCopy); 

有关更多信息,请参见以下链接:

Consume Office 365 REST API Without UI

Get Office 365 API access token without user interaction