Office Mail ID 从 Javascript API 到 Graph API 问题

问题描述 投票:0回答:1

有没有一种方法可以使用 Office 加载项 JavaScript API 获取 mime 内容

因为目前我正在做的是使用 Office 加载项 JavaScript API 将 mail_id 存储到数据库

let mail_id = Office.context.mailbox.item.itemId

并使用该邮件 ID,我正在使用 Microsoft 图形 API 来使用此端点获取 mime 内容

https://graph.microsoft.com/v1.0/me/messages/{mail_id}/$value

注意:我已经清理了邮件 ID,如“/”到“-”等。

其中一些正在工作,但有些遇到了一些错误

Client error: 
获取
resulted in a
404未找到
 response: {"error":{"code":"ErrorItemNotFound","message":"The specified object was not found in the store., The process failed to  (truncated...)

Server error: 
GET
resulted in a
503 服务不可用
response: {"error":{"code":"ErrorMailboxMoveInProgress","message":"Mailbox move in progress. Try again later., Cross Server access (truncated...)

如果我能做些什么,请告诉我

microsoft-graph-api outlook-addin
1个回答
0
投票

因为目前我正在做的是将 mail_id 存储到数据库中 Office 加载项 JavaScript API

您通过 Office.context.mailbox.item.itemId 获取的 Id 不是不可变的,因此如果邮件在文件夹之间移动(通过用户或收件箱规则),则此 Id 将更改并生成

客户端错误:GET 导致 404 Not Found 响应: {"error":{"code":"ErrorItemNotFound","message":"指定的对象 在商店中找不到。,进程失败(被截断...)

您可以将 Graph 中的 Id 转换为不可变版本(如果消息移动,该版本不会改变)(但这需要在消息移动之前完成) https://learn.microsoft.com/en-us/graph/api/user-translateexchangeids?view=graph-rest-1.0&tabs=http。您还可以使用首选标头 https://learn.microsoft.com/en-us/graph/outlook-immutable-id 对项目执行 Get 操作。 https://www.mckennaconsultants.com/process-of-building-an-ms-outlook-add-in-with-microsoft-graph-api/

介绍了在插件中处理此问题的一种方法

服务器错误:GET 导致 503 服务不可用响应: {"error":{"code":"ErrorMailboxMoveInProgress","message":"邮箱移动 进行中。稍后重试。,跨服务器访问(被截断...)

这是时常会出现的情况,因为邮箱会在数据中心之间移动,以便在维护期间进行操作并实现负载平衡。一般来说只需等待并重试即可。

© www.soinside.com 2019 - 2024. All rights reserved.