如何以纯文本格式将图形请求 header 设置为 return Outlook 任务 body
how to set Graph request header to return Outlook tasks body in plain text
我正在尝试从 /beta/me/outlook/tasks
到 return 获取 body 作为原始 text
("body": {"contentType": "text",}
) 的响应,但我始终以 html
格式接收它。
async getTaskList(): Promise<TaskList[]> {
try {
let result = await this.graphClient
.api('https://graph.microsoft.com/beta/me/outlook/tasks')
.header("Prefer", "ContentType:'text'")
//.header('Prefer', 'contentType="text"')
.header('Prefer', 'outlook.timezone="central Europe Standard Time"')
.header('IdType', 'ImmutableId')
.select('id, owner, startDateTime, dueDateTime, subject, body')
.filter("status ne 'completed' and startswith(subject,'Schválit home office')")
.get();
return result.value;
} catch (error) {
this.alertsService.add('Could not get tasks list', JSON.stringify(error, null, 2));
}
}
预期结果:
"body": {
"contentType": "text",
"content": "Lorem ipsum ..."
},
实际结果:
"body": {
"contentType": "html",
"content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta name=\"Generator\" content=\"Microsoft Exchange Server\">\r\n<!-- converted from rtf -->\r\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>\r\n</head>\r\n<body>\r\n<font face=\"Calibri\" size=\"2\"><span style=\"font-size:11pt;\">\r\n<div>Lorem ipsum ...</div>\r\n<div> </div>\r\n</span></font>\r\n</body>\r\n</html>\r\n"
},
对于 Outlook/Exchange 端点,Prefer
header 的正确语法是 outlook.body-content-type="text"
:
.header("Prefer", "utlook.body-content-type='text'")
也就是说,according to the documentation,/outlook/tasks
只支持请求首选时区,不支持content-type。因此,您现在需要将 HTML 转换为文本。
鉴于它仍在 beta/preview 中,这可能会在发布之前发生变化。文档页面底部有一个反馈部分,您可以在其中询问他们添加此功能的计划(或缺乏计划)。
我正在尝试从 /beta/me/outlook/tasks
到 return 获取 body 作为原始 text
("body": {"contentType": "text",}
) 的响应,但我始终以 html
格式接收它。
async getTaskList(): Promise<TaskList[]> {
try {
let result = await this.graphClient
.api('https://graph.microsoft.com/beta/me/outlook/tasks')
.header("Prefer", "ContentType:'text'")
//.header('Prefer', 'contentType="text"')
.header('Prefer', 'outlook.timezone="central Europe Standard Time"')
.header('IdType', 'ImmutableId')
.select('id, owner, startDateTime, dueDateTime, subject, body')
.filter("status ne 'completed' and startswith(subject,'Schválit home office')")
.get();
return result.value;
} catch (error) {
this.alertsService.add('Could not get tasks list', JSON.stringify(error, null, 2));
}
}
预期结果:
"body": {
"contentType": "text",
"content": "Lorem ipsum ..."
},
实际结果:
"body": {
"contentType": "html",
"content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta name=\"Generator\" content=\"Microsoft Exchange Server\">\r\n<!-- converted from rtf -->\r\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>\r\n</head>\r\n<body>\r\n<font face=\"Calibri\" size=\"2\"><span style=\"font-size:11pt;\">\r\n<div>Lorem ipsum ...</div>\r\n<div> </div>\r\n</span></font>\r\n</body>\r\n</html>\r\n"
},
对于 Outlook/Exchange 端点,Prefer
header 的正确语法是 outlook.body-content-type="text"
:
.header("Prefer", "utlook.body-content-type='text'")
也就是说,according to the documentation,/outlook/tasks
只支持请求首选时区,不支持content-type。因此,您现在需要将 HTML 转换为文本。
鉴于它仍在 beta/preview 中,这可能会在发布之前发生变化。文档页面底部有一个反馈部分,您可以在其中询问他们添加此功能的计划(或缺乏计划)。