gpt4 book ai didi

c# - 在没有 UI 的情况下使用 Office 365 REST API

转载 作者:太空狗 更新时间:2023-10-29 23:05:50 26 4
gpt4 key购买 nike

我需要将日历条目推送到客户的 Outlook 帐户中。这对于 Exchange 来说相当简单。您只需通过具有访问权限的用户进行身份验证,然后就可以将条目推送到其他用户的帐户中。在 Office 365 中似乎完全不同。

我尝试按照此处的说明进行操作: https://dev.outlook.com/restapi/getstarted

我创建了应用并获得了应用的客户端 ID。但是,所有文档都是围绕 oAuth 的。一般而言,oAuth 专为用户需要通过浏览器窗口输入凭据的情况而设计,然后浏览器窗口将向用户确认他们愿意允许应用程序拥有哪些凭据。

这与我的场景不符。我需要能够在没有任何 UI 的情况下将日历条目推送到帐户中。这是后端集成。它只需要默默地完成它的工作。

我查看了这个示例应用程序: https://github.com/OfficeDev/O365-Win-Snippets

但是,这是一个前端应用程序。当它需要进行身份验证时,它会弹出一个窗口强制用户输入他们的凭据。

当我尝试调用入门页面中提到的 REST API 时,它返回 HTML。这是它提到的网址:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id= &redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&response_type=code&scope=https%3A%2F%2Foutlook.office.com%2Fmail.read

我已尝试使用我的客户端 ID 对该 Url 进行一些排列。我已尝试通过基本的 http 身份验证传递我的 Office 365 凭据。

我卡住了。

最佳答案

答案很简单。使用 Exchange API,而不是 Office 365 API。

我很困惑,因为我认为 Office 365 是与 Exchange 不同的实体,但 Office 365 电子邮件服务器只是一个巨大的 Exchange 服务器。这里有一些示例代码可以很好地衡量。这是登录到 Office 365 的 Exchange 服务器并将日历条目发送到电子邮件地址的示例。简单。

我胡乱猜测了 exchange Url 是对的: https://outlook.office365.com/ews/exchange.asmx

    //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);

关于c# - 在没有 UI 的情况下使用 Office 365 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39242526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com