致电/users/me/mailFolders
会使用id
,displayName
,parentFolderId
和一些计数器返回文件夹列表。
如何确定哪个文件夹是“收件箱”?
我无法使用displayName
,因为这可能是用户的母语。 Id
只是一个随机字符串。
我需要这个,因为我的应用程序填充了文件夹列表,我想将“选择”默认为收件箱(就像Outlook一样)。
答案 0 :(得分:1)
对于默认文件夹,您可以使用"众所周知的名称" (在这种情况下为inbox
)以获取正确的id
。来自the documentation:
Outlook默认为用户创建某些文件夹。为方便起见,您可以使用,而不是使用相应的文件夹 id 值 在 mailFolder 集合中访问这些文件夹时,以下众所周知的文件夹名称:
ArchiveRoot
,ConversationHistory
,DeletedItems
,Drafts
,Inbox
,JunkEmail
,Outbox
和SentItems
。
为了说明,在示例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'等)。