我正在尝试使用Microsoft Graph API通过推送通知创建订阅以获取Outlook电子邮件@mentions . 我使用this documentation作为参考/

我在portal.azure.com中创建了一个应用程序,并在"Microsoft Graph" API下提供了"Read user mail"的必需权限,管理员通过Microsoft Demo租户同意了它 . 但我仍然无法订阅Microsoft Graph推送通知REST API,我收到 400 Bad Request 错误 .

我还尝试在Microsoft Graph API下的portal.azure.com中授予对应用程序的所有权限,并再次通过我的Microsoft演示租户同意管理员,但我仍然得到相同的 400 错误请求错误 .

我使用以下代码创建订阅:

private static void Subscribe(AuthenticationHeaderValue authHeader) {
    using(HttpClient _httpClient = new HttpClient()) {
        _httpClient.BaseAddress = new Uri("https://graph.microsoft.com");
        _httpClient.DefaultRequestHeaders.Accept.Clear();
        _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));
        _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
        _httpClient.DefaultRequestHeaders.Authorization = authHeader;

        // connect to the REST endpoint to subscribe   
        var json = @"{'changetype':'created,updated', 'notificationurl': 'http://requestbin.fullcontact.com/two54stw/', 'resource': 'me/mailfolder(\'Inbox\')/messages','clientstate': 'secretclientvalue'}";

        HttpContent contentPost = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
        HttpResponseMessage subscribe = _httpClient.PostAsync($"v1.0/subscriptions", contentPost).Result;
        Console.WriteLine("New subscription created!");
    }
}

有没有人在类似的问题上工作来创建推送通知订阅以获取Outlook电子邮件,可以请帮忙吗?