当我们的应用尝试在Compose中获取REST令牌时,O365返回以下错误:
请求:
Office.initialize =
() => Office.context.mailbox.getCallbackTokenAsync({ isRest: true },
res => console.log(res));
响应:
{
"name": "CanOnlyGetTokenForSavedItem",
"message": "The token can't be retrieved until the item is saved.",
"code": 9029
}
解决方案是使用Office API保存项目:
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result
});
我们确认此方法有效,但是,如果用户以后选择放弃用户对消息/撰写应用程序的操作,它也会在草稿文件夹中保留一条空消息。
我认为这应该由Outlook处理,而不是由应用处理,如果邮件被放弃,Outlook应该删除该项目。
答案 0 :(得分:0)
对于Outlook,这是草稿。即使使用Outlook自动保存选项,也会出现此现象,邮件将保存在草稿文件夹中。 用户必须将其从草稿文件夹中明确删除。
Outlook不会自动删除用户/加载项保存的邮件,因为这将丢失数据(如果Outlook这样做的话)。
但是,如果您要保存一条消息,并且确定可以删除该消息,则可以使用EWS / REST来完成。