通过Web API在Office 365中创建草稿邮件

时间:2015-07-08 10:20:39

标签: c# asp.net-web-api office365 bearer-token outlook-restapi

我有一个带有EF的Web API后端,并使用AzureAD来验证使用AngularJS编写的Web应用程序的(office365)用户。

现在我想在我的Web API中创建草稿邮件,但我不知道从哪里开始。

我可以在Web API中调用Office 365邮件API吗? POST https://outlook.office365.com/api/ {version} / me / sendmail

但是如何传递身份验证令牌呢?

这是我现在使用的Auth配置,它适用于其他数据请求。

public static class Auth
{
    internal static void ConfigureCors(this IAppBuilder app)
    {
        // TODO: Configure to only allow ESS Web UI
        app.UseCors(CorsOptions.AllowAll);
    }

    internal static void ConfigureAuth(this IAppBuilder app)
    {
        app.UseWindowsAzureActiveDirectoryBearerAuthentication(
            new WindowsAzureActiveDirectoryBearerAuthenticationOptions
            {
                TokenValidationParameters = new TokenValidationParameters
                {
                    ValidAudience = Settings.Default.Audience
                },
                Tenant = Settings.Default.Tenant
            });
    }
}

如何使用一些示例代码向Office 365 API发出正确的请求?谢谢!我是Office 365 API和本网站的新用户: https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations

对我来说不太清楚如何处理这个......

1 个答案:

答案 0 :(得分:1)

您可以通过自己创建正确的REST请求(使用HttpClient或类似的东西)来执行此操作,也可以将.NET SDK用于Office 365 API。有一个getting started tutorial,展示了如何使用SDK。它检索邮件而不是创建,但它应该让你开始。创建草稿(使用SDK)涵盖here

对于身份验证,您需要获取OAuth2令牌,该令牌将作为承载令牌传递到Authorization标头中。 Azure Active Directory身份验证库可用于此目的。

如果您选择自己实施REST,请求的格式为here。概述了开始使用原始REST here