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

时间:2018-02-12 12:56:57

标签: microsoft-graph outlook-restapi

致电/users/me/mailFolders会使用iddisplayNameparentFolderId和一些计数器返回文件夹列表。

如何确定哪个文件夹是“收件箱”?

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

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

2 个答案:

答案 0 :(得分:1)

对于默认文件夹,您可以使用"众所周知的名称" (在这种情况下为inbox)以获取正确的id。来自the documentation

  

Outlook默认为用户创建某些文件夹。为方便起见,您可以使用,而不是使用相应的文件夹 id 值   在 mailFolder 集合中访问这些文件夹时,以下众所周知的文件夹名称:ArchiveRootConversationHistoryDeletedItems,   DraftsInboxJunkEmailOutboxSentItems

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

{
    "@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
}

答案 1 :(得分:0)

在v1.0中,我认为你必须使用你提到的本地化显示名称,这可能非常棘手。但是,如果使用/ beta / endpoint,则可以使用wellKnownName属性,该属性是给定mailFolder的非本地化标识符(例如'junkemail','inbox'等)。