我正在尝试使用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电子邮件,可以请帮忙吗?