我想在C#中使用Outlook Mail REST API(客户端版本)在C#中为其设置Office 365集成。我一直在这里使用API参考:https://msdn.microsoft.com/office/office365/APi/mail-rest-operationsOffice 365客户端API SendMailAsync返回未授权
我可以登录到Office 365罚款,并获取令牌,然后阅读邮件文件夹(即发送邮件/收件箱),但是当我尝试发送电子邮件时,我得到以下错误:
未经授权
说明:在当前Web请求的执行过程中发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。
异常详细信息:Microsoft.OData.Client.DataServiceClientException:未经授权
我已经添加的权限为读/写和发送电子邮件,所以当我登录到Office 365,它说:
Office Integration Test App needs permission to:
Access your data anytime
Sign in as you
Send mail as you
Read and write access to your mail
所以我认为'发送邮件为你'是我需要的。不过,我仍然收到Unathorized错误消息。
这里是我运行发送电子邮件的代码:
string AccessToken = (string)Session["Office365Token"];
OutlookServicesClient client = new OutlookServicesClient(new Uri("https://outlook.office.com/api/v2.0"),
async() =>
{
return AccessToken;
});
ItemBody EmailBody = new ItemBody
{
Content = "Test email from the project",
ContentType = BodyType.HTML
};
List<Recipient> toRecipients = new List<Recipient>();
toRecipients.Add(new Recipient() { EmailAddress = new EmailAddress() { Address = "[email protected]" } });
Message newMessage = new Message
{
Subject = "Test Subject For Email",
Body = EmailBody,
ToRecipients = toRecipients
};
await client.Me.SendMailAsync(newMessage, true);
就当我打电话SendMailAsync最后一行发生的错误。我真的不知道还有什么可以尝试,并且找不到有关会导致这种情况的任何信息。
任何帮助,非常感谢!
非常好,谢谢 - 它正在使用草稿方法。据我记得365 API是在预览,所以希望它是一些将尽快纠正。 –
不错的救了我+1 – EasyE