如何知道收件箱是哪个mailFolder?

How to know which mailFolder is the Inbox?

调用 /users/me/mailFolders returns 文件夹列表及其 iddisplayNameparentFolderId 和一些计数器。

如何确定哪个文件夹是 "Inbox"?

我不能使用 displayName 因为这可能是用户的母语。 Id 只是一个随机字符串。

我需要这个,因为我的应用程序填充了文件夹列表,我想将 "selection" 默认到收件箱(就像 Outlook 一样)。

在 v1.0 中,我认为您必须使用本地化的显示名称,正如您所提到的,这可能非常棘手。但是,如果您使用 /beta/ 端点,则可以使用 wellKnownName 属性 这是给定邮件文件夹的非本地化标识符(例如 'junkemail'、'inbox' , ETC)。

对于默认文件夹,您可以使用 "well-known name"(在本例中为 inbox)以获得正确的 id。来自 the documentation:

Outlook creates certain folders for users by default. Instead of using the corresponding folder id value, for convenience, you can use the following well-known folder names when accessing these folders in a mailFolder collection: ArchiveRoot, ConversationHistory, DeletedItems, Drafts, Inbox, JunkEmail, Outbox, and SentItems.

为了说明,在示例 Graph Explorer 租户中调用 /me/mailFolders/inbox returns:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('48d31887-5fad-4d73-a9f5-3c356e68a038')/mailFolders/$entity",
    "id": "AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAEMAAA=",
    "displayName": "Inbox",
    "parentFolderId": "AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAEIAAA=",
    "childFolderCount": 2,
    "unreadItemCount": 59,
    "totalItemCount": 60
}